【问题标题】:yii2 identity session expiryyii2 身份会话到期
【发布时间】:2020-04-11 17:37:05
【问题描述】:

我是 yii2 框架的新手,我遇到了身份问题。当会话超时或当我将用户状态更改为非活动状态时,我收到一个错误,即尝试从用户组件获取非对象的属性。

public function getName()
{
    return \Yii::$app->user->identity->username;
}

当我在网站标题中检索此值时,我想重定向到登录页面而不是显示此错误

【问题讨论】:

  • 请分享您的控制器的行为()方法以获得进一步的帮助

标签: php yii2 identity yii2-advanced-app


【解决方案1】:

作为一种好的做法,您应该在控制器中使用访问控制过滤器。请参阅此link 了解如何在控制器中实施授权。

【讨论】:

    【解决方案2】:

    在控制器文件中你应该放:

    if (\Yii::$app->user->isGuest) {
       return $this->redirect(["site/login"]);
    }
    

    这是因为“身份”只对登录的用户设置.. 所以你不能访问身份,因为他是客人..

    https://www.yiiframework.com/doc/api/2.0/yii-web-user#$isGuest-详细信息

    【讨论】:

      猜你喜欢
      • 2016-04-16
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多