加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在yii2中重定向登录页面的最佳方法是什么

发布时间:2020-12-13 22:15:09 所属栏目:PHP教程 来源:网络整理
导读:如果用户没有登录,则用户必须在登录页面上重定向,因为我找到了对我来说工作正常的功能,我使用了以下功能 public function beforeAction($action){ if (Yii::$app-getUser()-isGuest Yii::$app-getRequest()-url !== Url::to(Yii::$app-getUser()-loginUrl
如果用户没有登录,则用户必须在登录页面上重定向,因为我找到了对我来说工作正常的功能,我使用了以下功能

public function beforeAction($action)
{        
    if (Yii::$app->getUser()->isGuest &&
        Yii::$app->getRequest()->url !== Url::to(Yii::$app->getUser()->loginUrl)
    ) {
        Yii::$app->getResponse()->redirect(Yii::$app->getUser()->loginUrl);
    }
    return parent::beforeAction($action);
}

这对我来说很好,但为此我需要在每个控制器中添加功能,我想做什么,我需要常见的功能,我可以在哪里执行此操作,所以任何人都可以告诉我什么是最好的方法来做到这一点?

解决方法

您需要在组件部分之后在config / web.php中添加以下代码.

'as beforeRequest' => [  //if guest user access site so,redirect to login page.
    'class' => 'yiifiltersAccessControl','rules' => [
        [
            'actions' => ['login','error'],'allow' => true,],[
            'allow' => true,'roles' => ['@'],

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读