这是我使用的外墙namespace App\Http\Controllers;use App\User;use Illuminate\Http\Request;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\Hash;我已经使用 bcrypt 成功创建了带有散列密码的用户注册页面。 //Get singnup view public function getSignup() { return view('user.signup'); } //Process signup public function postSignup(Request $request) { $this->validate($request, [ 'email' => 'email|required|unique:users', 'password' => 'required|min:4' ]); $user = new User([ 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')), ]); $user->save(); return redirect()->route('product.index'); }现在我被困在登录页面。Auth::attempt 总是返回 false。我什至尝试在我的数据库中存储一个普通密码并在没有 bcrypt 的情况下登录,但它仍然返回 false。我不知道我现在哪里错了。//Get signin view public function getSignin() { return view('user.signin'); } //Process signin public function postSignin(Request $request) { $this->validate($request, [ 'email' => 'email|required', 'password' => 'required|min:4' ]); $credentials = array( 'email' => $request->input('email'), 'password' => bcrypt($request->input('password')) ); if(Auth::attempt($credentials)) { return redirect()->route('user.profile'); } return redirect()->route('product.index'); }
2 回答
慕尼黑5688855
TA贡献1848条经验 获得超2个赞
在中config\auth,change guard driver setting 设置为api。
'defaults' => [
'guards' => 'api',
'passwords' => 'users'
]
但是 Laravel 不支持attempt()guard 函数api。因此,您应该使用一些包,例如(您可以在此处Passport参考)
或者更简单,只需配置你的保护驱动程序Auth::guard('api')->attempt($credentials)
希望这能解决您的问题。
- 2 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消