簡體   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