0
我有这样的代码:为什么验证::尝试总是返回false在Laravel 5.1
public function postLogin(Request $request) {
if(Auth::attempt(['username' => $request->username, 'password' => $request->password]))
{
return redirect()->intended('users/dashboards');
}else{
return redirect('/')->withInput()->with('message', 'Login Failed');
}
}
这里是我的控制器:
Route::get('/', ['as' => 'home', 'uses' => '[email protected]']);
Route::post('post-login', ['as' => 'post_login', 'uses' => '[email protected]']);
Route::group(['middleware' => 'auth', 'prefix' => 'user'], function(){
Route::get('dashboards', ['as' => 'dashboards', 'uses' => '[email protected]']);
});
我不知道为什么它总是返回false。我正在测试用户是否通过身份验证。如果我使用Auth::check()
它返回false
但如果我使用Auth::guests
它返回true
。我对中间件太困惑了。有人能帮助我吗?
也许你提供不正确的凭据所有的时间更换return语句。您是否在验证失败时检查用户名和密码的值?另外,什么让你困惑中间件?它的工作方式或为什么存在? – Mjh
没有即时通讯提供与我的数据库中的良好凭据,但仍然没有运气。而且我的密码不是'哈希' – aldrin27
我们没有足够的信息来帮助你。因此,您在数据库中拥有非哈希密码,您提供了“正确”凭据(根据您的情况),但是 - 您意识到Laravel的'Auth'使用哈希密码? – Mjh