后我们在/rpotected/components/UserIdentity.php以下功能:Yii框架会议不保存登录
public function authenticate()
{
$username = $this->username;
$password = $this->password;
$user = Users::model()->find('username=? AND password=?', array($username, $password));
if($user === NULL){
$this->errorCode=self::ERROR_UNKNOWN_IDENTITY;
}else{
$this->username = $user->username;
sess('SESS_USER_INFO', $user->attributes);
//print_r(sess('SESS_USER_INFO'));
$this->errorCode=self::ERROR_NONE;
}
return !$this->errorCode;
}
下面是从/protected/models/Users.php一个片段:
public function login()
{
if($this->_identity===null)
{
$username = $this->username;
$password = md5($this->password);
//echo "Username: ".$username."<br />Password:".$password;
$this->_identity=new UserIdentity($username, $password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
{
$duration=$this->rememberMe ? 3600*24*30 : 60*20; // 30 days
//print_r($this->_identity);
Yii::app()->user->login($this->_identity,$duration);
//echo "Login Successful";
return true;
}
else{
//echo "Error";
$this->addError('password','Incorrect username or password.');
return false;
}
问题:登录后,单击我的配置文件链接提示再次登录。因此,会话似乎并不存储/保存登录凭证并在登录使用期限内持有登录凭证。
应如何修改验证功能以便存储会话信息并使登录凭证继续运行?
什么是'SESS( 'SESS_USER_INFO',$用户>属性) “session.cookie_lifetime” 值;'? – 2012-08-01 00:12:30
我在想它的目的是保存会话的登录用户属性? – SidC 2012-08-01 01:53:48
删除它,它可能与yii的会话处理冲突 – 2012-08-01 02:12:27