【发布时间】:2013-05-21 08:15:07
【问题描述】:
我在 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,所以我认为我的数据库可能是错误的。但是数据正在被完美地获取。
感谢您的宝贵时间。
【问题讨论】:
-
这显然不是 PHP。
-
是的……为什么不是呢?
-
萨米,它只是模板。迈克,你能看看你的浏览器里有 cookie 吗?
-
有一个cookie,“laravel_session”