0

我已经使用 Fortify CreateNewUserAction 注册了一个新用户,并附加了一个角色。创建用户并赋予角色后如何登录用户?

控制器:

<?php

namespace App\Http\Controllers\auth;

use App\Actions\Fortify\CreateNewUser;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class RegisterController extends Controller
{

    public function create()
    {
        return view('auth.register-author');
    }

    public function store(Request $request)
    {
        // Creating New User
        $newUser = new CreateNewUser();
        $user = $newUser->create($request->only(['firstname', 'surname', 'email', 'password', 'password_confirmation']));
        
        // Attaching the role
        $user->roles()->attach("8");

        return redirect(route('dashboard'));
    }
}
4

1 回答 1

0

您可以创建一个登录函数,也可以删除 store 函数中的返回重定向函数,以便让用户登录。

use App\Models\User;

class RegisterController extends Controller
{
   public function login(Request $request) {
       $user = User::where('email', $request->email)->first();
    
       //check the password
       if(!$user || ($user->password != $request->password)) {
          return redirect(route('login'));
       } 

       return redirect(route('dashboard'));
  }
}
于 2021-06-29T11:06:12.847 回答