luckye 2012-10-05 23:11:10 4404次浏览 3条回复 0 0 0

在没有登录的情况下,不管点击哪个页面都自动跳转到登录界面site/login,请大侠们帮帮忙,谢谢!!!!!!

  • 回复于 2012-10-06 10:36 举报

    配置文件中CWebuser组件要配置好。

    'user'=>array(
        'loginUrl'=>'site/login',
        // enable cookie-based authentication
        'allowAutoLogin'=>TRUE,
    ),
    

    然后在每个action里面进行验证,没有登录的就跳转呗。Yii::app()->user->loginRequired();

  • 回复于 2012-10-08 08:59 举报

    控制accessRules比较好。

  • 回复于 2012-10-08 09:39 举报

    使用控制器里的accessRules方法

    public function accessRules()
    {
        return array(
        array('allow',  //未登录用户允许操作的action
            'actions'=>array('login','logout','register'),
            'users'=>array('*'),
        ),
        array('allow',   //登录用户允许操作全部action
            'users'=>array('@')
        ),
        array('deny',  // allow all users to perform 'index' and 'view' actions
            'users'=>array('*'),
        ),
        );
    }
    

    然后在配置文件中设置

    'user'=>array(
        'loginUrl'=>'site/login',  //登录所在的控制器动作
        // enable cookie-based authentication
        'allowAutoLogin'=>TRUE,
    ),
    
您需要登录后才可以回复。登录 | 立即注册