繁体   English   中英

Laravel 5.2 - 注册后禁用自动登录

[英]Laravel 5.2 - Disable auto login after registration

我有一个注册码:

public function postRegister(Request $request, AppMailer $mailer) {
    $post = $request->all();

    $rules = [
        'email' => 'required|email|unique:users|confirmed|max:255',
        'password' => 'required|confirmed|min:8|max:50',
    ];
    $v = \Validator::make($post, $rules);

    if($v->fails())
        return "fail!";

    $data = [
        'email' => $post['email'],
        'password' => \Hash::make($post['password'])
    ];
    $user = User::create($data);
    $mailer->sendEmailConfirmationTo($user);

    return "account created!";
}

但是,注册后,laravel 会自动登录。 如何禁用自动登录?

我认为最快的方法是:

$user = User::create($data);
$mailer->sendEmailConfirmationTo($user);
Auth::logout(); //logout please!
return "account created!";

对于较慢的,请看这个问题:

如何在 Laravel 5 中禁用注册时自动登录?

如果您使用的是 Laravel 5.2,请尝试在您的 AuthController 中使用此功能

public function register(Request $request)
{
    $validator = $this->validator($request->all());
    if ($validator->fails()) {
        $this->throwValidationException(
          $request, $validator
        );
    }

    $user = $this->create($request->all());
    return redirect($this->redirectPath());
}

确保将其添加到 AuthController 的顶部:

use Illuminate\\Http\\Request;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM