如何在 Laravel 8 breeze 中注册后停止自动登录
How to stop auto login after registration in Laravel 8 breeze
您好,我是 Laravel 框架的新手。我正在尝试创建一个单独的控制器来复制 laravel breeze 中的 registeredusercontroller.php,以便管理员用户能够添加新用户。但是我在自动登录时遇到了问题,一旦我添加了一个新用户,它就会自动登录到新用户。我怎样才能阻止这种情况发生。我看到帖子说要删除
$this->guard()->login($user);
但是当我看到 app/Auth/registeredusercontroller.php 时,我没有看到那一行。
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|confirmed|min:8',
]);
Auth::login($user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]));
$user->attachRole('user');
event(new Registered($user));
return redirect(RouteServiceProvider::HOME);
}
注册后如何停止自动登录
非常感谢任何帮助。
您可以像使用自定义请求处理程序一样以正确的方式执行此操作。
您需要的参数是姓名、电子邮件、密码。
所以在app/http/request
上面添加CreateUserRequest
<?php
namespace App\Http\Requests;
use Illuminate\Http\Request;
class CreateUserRequest extends Request
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|confirmed|min:8',
];
}
}
然后在你的控制器中执行此操作;
public function store(CreateUserRequest $request) // add your custom request as a parameter
$user = User::create($request)
这些代码使您的代码结构清晰明了。
您好,我是 Laravel 框架的新手。我正在尝试创建一个单独的控制器来复制 laravel breeze 中的 registeredusercontroller.php,以便管理员用户能够添加新用户。但是我在自动登录时遇到了问题,一旦我添加了一个新用户,它就会自动登录到新用户。我怎样才能阻止这种情况发生。我看到帖子说要删除
$this->guard()->login($user);
但是当我看到 app/Auth/registeredusercontroller.php 时,我没有看到那一行。
public function store(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|confirmed|min:8',
]);
Auth::login($user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]));
$user->attachRole('user');
event(new Registered($user));
return redirect(RouteServiceProvider::HOME);
}
注册后如何停止自动登录
非常感谢任何帮助。
您可以像使用自定义请求处理程序一样以正确的方式执行此操作。 您需要的参数是姓名、电子邮件、密码。 所以在app/http/request
上面添加CreateUserRequest<?php
namespace App\Http\Requests;
use Illuminate\Http\Request;
class CreateUserRequest extends Request
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|confirmed|min:8',
];
}
}
然后在你的控制器中执行此操作;
public function store(CreateUserRequest $request) // add your custom request as a parameter
$user = User::create($request)
这些代码使您的代码结构清晰明了。