gpt4 book ai didi

yii - 重定向到未授权用户 yii 的登录页面

转载 作者:行者123 更新时间:2023-12-04 04:50:21 26 4
gpt4 key购买 nike

页面 Controller 访问规则:

public function accessRules()
{
$isadmin = User::loadUser(Yii::app()->user->id)->adminUser;

return array(
array('allow',
'actions'=>array('index','view','create','update'),
'expression'=>"{$isadmin}==1",
),
array('deny', // deny all users
'users'=>array('*'),
),

);
}

主要配置:
 'user' => array(         // Webuser for the admin area (admin)
'class' => 'WebUser',
'allowAutoLogin' => true,
'loginUrl' => array('/user/login'),
'stateKeyPrefix' => 'admin_',
),

问题:
当我访问页面/创建时,它没有重定向到用户/登录名而是抛出异常:
Error 404

The requested page does not exist.

如何重定向到未授权用户的登录页面?

最佳答案

您可以使用“deniedCallback”来执行此操作。

方法一

      'deniedCallback' => function() {Yii::app()->controller->redirect(array ('actionName'));},

//It will come As

array('allow',
'actions' => array('actionName1,actionName2,actionName3'),
'deniedCallback' => function() {Yii::app()->controller->redirect(array ('actionName'));},
'users' => array('@'),
),

方法二:
您也可以通过调用函数来执行相同的操作,请参阅下面的代码。
        array('allow',
'deniedCallback' => array($this, 'goToLogin'),
'actions' => array('actionName1,actionName2,actionName3'),
'users' => array('@'),
),

的代码goToLogin 方法
        public function goToLogin()
{
$this->redirect('/controller/actionName');
//For your program
//$this->redirect('/site/login');
}

关于yii - 重定向到未授权用户 yii 的登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com