认证 – Yii :: app() – > user-> isGuest始终返回true,
发布时间:2020-12-13 16:34:20 所属栏目:PHP教程 来源:网络整理
导读:我已经认证的那些用户和那些没有认证的用户之间有一些区别.为此,我正在使用 Yii::app()-user-id; 但是,在确定的视图中,我放了以下代码: ?php if(Yii::app()-user-isGuest) { print("Welcome back Guest!"); print("Your id is ".Yii::app()-user-id); } els
我已经认证的那些用户和那些没有认证的用户之间有一些区别.为此,我正在使用
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 <?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,),... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |