我正在 laravel 4 中制作应用程序,但遇到了问题。
到目前为止,我已经尝试制作一个身份验证系统。我遵循了几个教程,但它们似乎都不起作用。可能是因为教程已经过时(laravel 不断发展)。
这是我的情况:
我有一个登录表单,此表单对用户进行身份验证。它工作得很好,这是我的 routes.php 文件中的代码。
Route::post('login', function () {
$user = array(
'e-mail' => Input::get('E-mail'),
'password' => Input::get('password')
);
if (Auth::attempt($user)) {
return Redirect::route('home')
->with('flash_notice', 'You are successfully logged in.');
}
// authentication failure! lets go back to the login page
return Redirect::route('login')
->with('flash_error', 'Your username/password combination was incorrect.')
->withInput();
});
因此,当我登录时,我转到主页并显示消息,那里没有问题。在我看来,我有以下代码(我为此使用刀片)。
<ul>
<li><a href="{{ URL::to('home') }}">Home</a></li>
@if(Auth::check())
<li><a href="{{ URL::to('profile') }}">Profile</a></li>
<li><a href="{{ URL::to('logout', 'Logout ('.Auth::user()->e-mail.')') }}">Logout</a></li>
@else
<li><a href="{{ URL::to('login') }}">Login</a></li>
@endif
</ul>
问题是,无论 Auth::check() 返回什么错误。我已经研究了这个问题几个小时,不知道从哪里继续......
在 User 模型中,getKey() 方法返回 null,所以我认为我的数据库可能是错误的。但是数据正在被完美地获取。
谢谢你的时间。