如何在 Laravel 8 中注册后禁用自动登录?

Jon*_*tos 6 laravel fortify

在使用 laravel 8 和 fortify 时,我没有

应用\Http\Controllers\Auth\RegisterController

提前致谢

小智 7

首先,您必须创建一个控制器,最好在app\Http\Controllers\Auth调用中,在该控制器中,您必须覆盖类RegisteredUserControllerRegisteredUserController的方法存储

将该store方法复制到新控制器并删除该行$this->guard->login($user);

它应该看起来像这样:

<?php

namespace App\Http\Controllers\Auth;

use Illuminate\Auth\Events\Registered;
use Illuminate\Http\Request;
use Laravel\Fortify\Contracts\CreatesNewUsers;
use Laravel\Fortify\Contracts\RegisterResponse;

class RegisteredUserController
    extends \Laravel\Fortify\Http\Controllers\RegisteredUserController
{

    public function store(Request $request, CreatesNewUsers $creator): RegisterResponse {
        event(new Registered($user = $creator->create($request->all())));
        return app(RegisterResponse::class);
    }

}
Run Code Online (Sandbox Code Playgroud)

/register最后更改指向新控制器的默认路径。

Route::post('/register', 'Auth\RegisteredUserController@store');
Run Code Online (Sandbox Code Playgroud)