如何在 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) 

这些代码使您的代码结构清晰明了。