认证 – Yii :: app() – > user-> isGuest始终返回true,即使登录成功

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了认证 – Yii :: app() – > user-> isGuest始终返回true,即使登录成功脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经认证的那些用户和那些没有认证的用户之间有一些区别.为此,我正在使用
Yii::app()->user->id;

但是,在确定的视图中,我放了以下代码

<?PHP 
    if(Yii::app()->user->isGuest) {
        PRint("Welcome back Guest!");
        print("Your id is ".Yii::app()->user->id);
    } else {
        print("Welcome back ".Yii::app()->user->name);
        print("Your id is ".Yii::app()->user->id);
}?>

我总是得到“欢迎回来的客人!”,无论我是否登录(成功).如果我已经登录,那么它会显示欢迎信息和用户的id!

编辑

@ briiC.lv
..对不起,迟到的回复,希望你还在跟着!我不扩展给定的UserIdentITy类.这是强制性的吗?由于我仍然没有得到很好的整个授权问题,我认为最好是尝试与他们提供的类,然后扩展与我自己的功能..无论如何,接下来我发布我的UserIdentity类与它的小调整.可能问题在这里

<?PHP class UserIdentity extends CUserIdentity{
private $_id;

public function authenticate()
{   
    $user = Users::model()->findAll('username=\''.$this->username.'\' AND password=\''.$this->encryptedPassword.'\'');
    if(!isset($user[0]))
    {
        return false;
    }
    else 
    {   
        $this->setstate('id',$user[0]->id);            
        $this->username = $user[0]->username;
        $this->errorCode=self::ERROR_NONE;
        return true;
    }
}

public function getId()
{
    return $this->_id;
}

}

这是当我建议登录时得到的输出;我成功登录后立即得到这个输出.

[05:23:21.833][trace][VARdump] CWebUser#1 ( 
[allowAutoLogin] => true 
[guestName] => 'Guest' 
[LOGinUrl] => array ( '0' => '/site/login' ) 
[identityCookie] => null 
[authTimeout] => null 
[autoRenewCookie] => false 
[autoUpdateFlash] => true 
[CWebUser:_keyPrefix] => '0f4431ceed8F17883650835e575b504b' 
[CWebUser:_access] => array() 
[behaviors] => array() 
[CApplicationcomponent:_initialized] => true 
[CComponent:_e] => null 
[CComponent:_m] => null 
)

任何帮助深表感谢!

也许你可以尝试更难调试:
将消息更改为如下所示:
if(Yii::app()->user->isGuest) {
    print("Not logged");
} else {
    print_r(Yii::app()->user);
    print("Welcome ".Yii::app()->user->name);
    print("Your id is ".Yii::app()->user->id);

}

并在你的config / main.PHP文件中检查会话变量

...
    'session' => array(
        'autoStart'=>true,),...

脚本宝典总结

以上是脚本宝典为你收集整理的认证 – Yii :: app() – > user-> isGuest始终返回true,即使登录成功全部内容,希望文章能够帮你解决认证 – Yii :: app() – > user-> isGuest始终返回true,即使登录成功所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。