注文の多いXOOPS屋 TOP現在のブログ旧スタッフblog アーカイブ
このページは 2007〜2008 年に公開していた「株式会社RYUS スタッフblog」のアーカイブです。内容は当時のものです。

ログイン成功したら特定の URL へリダイレクトさせる preload

2007/02/09 14:17   Ryuji   カテゴリ: XOOPS Cube

XOOPS Cube は、ログインに成功したとき、直前に閲覧していたのページにリダイレクトされるようになっています。
しかし、サイトによっては、ログイン成功時に特定のページにリダイレクトさせたいこともあります。

たとえば、ログインするのは管理者だけという Web サイト。
こういう Web サイトでは、ログインブロックも非表示で、user.php をブックマークしておいて、user.php からログインすることになります。
XOOPS Cube でこの方法でログインすると、トップページにリダイレクトされますが、このようなサイトではサイト管理のためにログインすることが多いのに、いったんトップページにリダイレクトされてから改めて管理画面にはいることになり面倒です。

そこでログインしたら即管理画面へ移動する preload を作成してみました。

XOOPS_URL/preload/loginRedirect.class.php として保存

< ?php
/**
 * 
 * @author Ryuji AMANO
 *
 */
class loginRedirect extends XCube_ActionFilter
{
	function _getRedirectUrl()
	{
		return XOOPS_URL .\'/admin.php\';
	}
	function preBlockFilter()
	{
		$this->mRoot->mDelegateManager->add(\"Site.CheckLogin.Success\", array(&$this, \'loginSuccessRedirect\'));

}
function loginSuccessRedirect(&$xoopsUser)
{
$this->mController->executeForward($this->_getRedirectUrl());
}
}

?>

もうちょっと手をくわえれば、ユーザグループごとに別のページへリダイレクトするようにもできます。