在使用 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)