如果用户未被授权,则Yii权限模块重定向到另一页面403

时间:2014-09-17 15:45:46

标签: php yii

我将权限模块安装到我的网站 我创建了一个名为ProfileController

的控制器
class ProfileController extends RController
{

    public function filters() 
    {
    return array('rights'); 
    } 
}

我决定谁可以访问此控制器,但当用户尝试访问此页面时,会将其重定向到

Error 403
You are not authorized to perform this action.

我需要在这种情况下重定向到页面PayDetails

我尝试但在这种情况下失败

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法

首先:您从权限模块向控制器发挥作用 喜欢:访问个人资料

第二:我创建任何用户都可以访问它的索引页

public function allowedActions()
    {
    return 'index';
    }

第三:我在索引中编写了这段代码

public function actionIndex()
    {
        $this->layout='column2';
        $lang=Yii::app()->Language;
        $roles=Rights::getAssignedRoles(Yii::app()->user->Id); // check for single role
            foreach($roles as $role)
            if($role->name == 'access profile')
            {
            $this->redirect(array('places'));
            }

        $this->render('index',array('lang'=>$lang));
    }

我认为这段代码中的重要部分

$roles=Rights::getAssignedRoles(Yii::app()->user->Id); // check for single role
foreach($roles as $role)
if($role->name == 'access profile')
{
 $this->redirect(array('places'));
}