koreaqing 2012-08-30 12:10:51 3670次浏览 5条回复 0 0 0

咨询一下,

我有一个admin module, module下面自定义了adminUser(extends CWebUser),

因为Yii::app()->user是给前台用户使用,所以adminModule->addComponent('user', new adminUser),

如何将admin module 下的需要登录的访问,redirect到module下adminUser->loginUrl, 而不是yii中默认已经建立的/site/login?

谢谢!

  • 回复于 2012-08-30 13:33 举报

    需要配置一下user组件

    'user'=>array(
    	// enable cookie-based authentication
    	'allowAutoLogin'=>true,
           ’loginUrl‘=array('/site/login'),
    ),
    
  • 回复于 2012-08-30 16:35 举报

    谢谢回答。
    不过你指的是 Yii::app()->user 这边设置loginUrl, 而我要的是 Yii::app()->getModule('admin')->user, 用户我建好了,但是这个跳转还是跳的Yii:app()->user->loginUrl, 所以来求教各位了

  • 回复于 2012-08-30 21:23 举报

    admin模块的user用的什么组件呢?可以在里面修改默认loginurl的。你也可以在Yii::app()->getModule('admin')->user->loginurl ='/site/login';这样试试。

  • 回复于 2012-08-31 08:21 举报

    这个动作我已经做了,但是问题是这个 route下,yii仍然使用的是全局的 Yii::app()->user来做验证,当碰到使用了accessRule的来宾时直接跳的是Yii::app()->user->loginUrl而不跳 Yii::app()->getModule('admin')->user->loginUrl 。 这就是我发问的原因。

  • 回复于 2012-08-31 16:17 举报

    那就修改全局的呗。Yii::app()->user->loginUrl = Yii::app()->getModule('admin')->user->loginUrl;
    这样动态调用可以吧

您需要登录后才可以回复。登录 | 立即注册