我想在完成注册后将我重定向到仪表板页面(注册后自动登录)。
这是用户注册代码:
public function store(Request $request)
{
$this->validator($request->all())->validate();
$apprenant = Apprenant::create([
'nom' => $request['nom'],
'prenom' => $request['prenom'],
'email' => $request['email'],
'niveau' => $request['niveau'],
'password' => Hash::make($request['password']),
]);
return redirect('/apprenant/dashboard');
}
但是当我完成注册后,它会将我重定向到登录页面
答案 0 :(得分:0)
在创建新用户时,create()方法应返回一个新的模型对象。
在重定向到信息中心之前,请使用Auth::loginUsingId($apprenant->id);
:
public function store(Request $request)
{
$this->validator($request->all())->validate();
$apprenant = Apprenant::create([
'nom' => $request['nom'],
'prenom' => $request['prenom'],
'email' => $request['email'],
'niveau' => $request['niveau'],
'password' => Hash::make($request['password']),
]);
Auth::loginUsingId($apprenant->id);
return redirect('/apprenant/dashboard');
}
来源 https://laravel.com/docs/5.7/authentication#other-authentication-methods
答案 1 :(得分:0)
在重定向到仪表板之前写以下行:
\Auth::login($apprenant);
或者只是
auth()->login($apprenant);
这意味着,您的代码将如下所示:
public function store(Request $request)
{
$this->validator($request->all())->validate();
$apprenant = Apprenant::create([
'nom' => $request['nom'],
'prenom' => $request['prenom'],
'email' => $request['email'],
'niveau' => $request['niveau'],
'password' => Hash::make($request['password']),
]);
//login the user
\Auth::login($apprenant);
return redirect('/apprenant/dashboard');
}
答案 2 :(得分:0)
您好,如果您要创建警卫人员,请在注册后运行此代码
Auth::guard(guard_name)->loginUsingId($id);
//示例
public function register(Request $req)
{
$user = new User; // define here your model
$user->name = $req->name;
$user->email = $req->email;
$user->password = Hash::make($req->password);
if($user->save()){
Auth::guard(guard_name)->loginUsingId($user->id);
}
}
//退出登录
public function logout()
{
Auth::guard('guard_name')->logout();
return redirect("login_path");
}