【发布时间】:2016-05-17 06:32:51
【问题描述】:
我正在使用 laravel 手动身份验证系统。提交表单重定向到如下所示的此路由。并且在 authenticate() 函数中,名称和密码永远不会与我之前存储的匹配。即Auth::attempt 始终为假。
Route::post('/logintest', 'mycontroller@authenticate');
Route::get('/home', ['middleware' => 'auth', function() {
echo "home page";});
}]);
认证功能:
public function authenticate(Request $request)
{
$input=$request->all();
$password=$input['password'];
$name=$input['name'];
if (Auth::attempt(['Name' => $name, 'Password' => $password]) ){
return redirect()->intended('/home');
} else
{
return redirect('/login')->with('message','Error logging in!');
}
}
我以这种方式注册了用户。密码使用 bcrypt() 进行哈希处理。功能。但是在 authenticate() 函数中,我正在与普通密码进行比较。我在某处读到Auth 会自动处理它。或者我是否应该在 config/auth.php 中更改某些内容,因为我使用名称而不是用户名进行身份验证?
public function register(Request $request)
{
$input=$request->all();
$password=bcrypt($input['password']);
$name=$input['name'];
$insert= User::insert(['Name'=>$name,'Password'=>$password]);
return redirect('/login')
->with('message','successfully Registered.');
}
【问题讨论】:
-
你能给我们看看路由文件吗?
-
@VipindasKS 我已经在顶部展示了它们。
-
这是唯一定义的路线。只是想确保它不与任何其他路线冲突。特别是,如果你之前做过 php artisan make:auth。
-
我们可以看看你的用户表迁移文件吗?