Sta*_*ser 6 php authentication laravel laravel-5 laravel-5.5
我在Laravel 5.5中使用手动登录功能.坚持登录.并检查所有(5相关)堆栈链接,并没有找到任何线索.
成就是一旦用户注册,自动登录该用户.
错误是
"类型错误:传递给Illuminate\Auth\SessionGuard :: login()的参数1必须实现接口Illuminate\Contracts\Auth\Authenticatable,给定的字符串,在Server/vendor/laravel/framework/src/Illuminate/Auth/AuthManager中调用. php在线294◀"
if ($validator->fails()) {
// $messages = $validator->messages();
return Redirect::to('register')
->withErrors($validator)
->withInput();
} else {
$email = Input::get('email');
$user = new user;
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
// $userMail = $user->find($email);
$userMail = User::where('email','=',$email)->first();
Auth::login($userMail->email, TRUE);
Run Code Online (Sandbox Code Playgroud)
我做错了什么.请指导我.
Nik*_*aut 20
登录功能需要类型的用户,Authenticatable你刚刚给出了email字符串,这就是你得到这个错误的原因,要么使用Auth::loginUsingId($id);
$user = User::where('email','=',$email)->first();
Auth::loginUsingId($user->id, TRUE);
Run Code Online (Sandbox Code Playgroud)
要不就
Auth::login($user);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13257 次 |
| 最近记录: |