Yii2 注册后如何注销用户?

Yii2 注册后如何注销用户?,yii2,Yii2,挑战是在登录表单上注册后重定向用户。无论发生什么冲突,注册后都必须注销。试图在控制器中使用此代码,但无效 public function actionSignup() { $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { Yii::$app-&g

挑战是在登录表单上注册后重定向用户。无论发生什么冲突,注册后都必须注销。试图在控制器中使用此代码,但无效

public function actionSignup()
{
    $model = new SignupForm();
    if ($model->load(Yii::$app->request->post())) {
        if ($user = $model->signup()) {
                 Yii::$app->user->logout();
            if (Yii::$app->getUser()->login($user)) {
                return $this->goHome();

            }
        }
    }

    return $this->render('signup', [
        'model' => $model,
    ]);

}

试试这个,我希望这会对你有所帮助。谢谢你

那么你在从函数返回后试图调用
logout()
-函数?我想你自己也能看出这是行不通的?嗯,我被纠正了,但仍然不起作用是的,因为现在你在调用
logout()
函数之后调用了
login()
函数。我仍然不明白你为什么要这么做,但是你的注销呼叫需要进入
if
,就在
返回$this->goHome()之前如果您想将用户重定向到登录表单,那么只需在注销调用后将其重定向到登录操作即可。为什么在那之后要调用登录函数?
siteController.php

public function actionSignup()
    {
        $model = new SignupForm();
        if ($model->load(Yii::$app->request->post())) {
            if ($user = $model->signup()) {
                return $this->goHome();
            }
        }