在我的项目中,我试图验证注册信息并在注册时对自己进行身份验证。但是发生的是,当您注册时,您将我发送到“登录”页面,是因为当我单击注册按钮时,您将我发送到了受中间件“ Auth”保护的路由。也就是说,您不在同一注册操作中进行身份验证。
BigQuery
使用先前的功能,系统将数据记录在BD中。但是然后我必须去登录。 (我不想要的东西)
如果我使用laravel默认提供的功能
protected function create(RequestFormRegister $data)
{
$userCount = User::where(['email'=> $data['email']])->count();
if($userCount>0){
return redirect()->back()->with('error', '¡El correo ya existe!');
}else{
$user = User::create([
'nombres' => $data['nombres'],
'apellidos' => $data['apellidos'],
'ni' => $data['ni'],
'role_id' => 2,
'email' => $data['email'],
'password' => Hash::make($data['password']),
'password_confirmation' => Hash::make($data['password_confirmation']),
'remember_token'=> str_random(15),
]);
}
}
我收到以下错误 enter image description here
这种情况下的解决方案是什么。我正在使用Laravel 5.8和AdminLte作为模板
答案 0 :(得分:1)
您可以手动登录新创建的用户并将其重定向到首页。
protected function create(RequestFormRegister $data)
{
$userCount = User::where(['email'=> $data['email']])->count();
if($userCount>0){
return redirect()->back()->with('error', '¡El correo ya existe!');
}else{
$user = User::create([
...
]);
// Manually logging user
Auth::login($user);
return redirect()->route('homepage');
}
}
https://laravel.com/docs/master/authentication#other-authentication-methods