gpt4 book ai didi

authentication - 为什么用户在 Yii 中关闭浏览器后没有注销?

转载 作者:行者123 更新时间:2023-12-02 03:54:30 25 4
gpt4 key购买 nike

此问题仅在 Chrome 和 Firefox 中出现。 Opera 和 Safari 工作正常。登录时,我不检查 rememberMe 选项。

allowAutoLogin 设置为 TRUE

这是我在 LoginForm 模型中的登录方法:

public function login()
{
if ($this->_identity === NULL)
{
$this->_identity = new UserIdentity($this->login, $this->password);
$this->_identity->authenticate();
}
if ($this->_identity->errorCode === UserIdentity::ERROR_NONE)
{
$duration = $this->rememberMe ? 3600 * 24 * 30 : 0; // 30 days
Yii::app()->user->login($this->_identity, $duration);
return TRUE;
}
else
return FALSE;
}

这是我的操作:

public function actionLogin()
{
$model = new LoginForm;

// if it is ajax validation request
if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}

// collect user input data
if (isset($_POST['LoginForm']))
{
$model->attributes = $_POST['LoginForm'];
// validate user input and redirect to the previous page if valid
if ($model->validate() && $model->login()) $this->redirect(Yii::app()->user->returnUrl);
}
// display the login form
$this->render('login', array('model' => $model));
}

最佳答案

在配置 (protected/config/main.php) 中,您可以将 allowAutoLogin 更改为 false

'components' => array(
'user' => array(
// enable cookie-based authentication
'allowAutoLogin' => false,
),

在这里阅读更多关于 Yii 登录状态的信息 http://www.yiiframework.com/doc/api/1.1/CWebUser

关于authentication - 为什么用户在 Yii 中关闭浏览器后没有注销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com