Я делаю приложение в laravel 4 и столкнулся с проблемой.
До сих пор я пытался создать систему аутентификации. Я следовал нескольким учебникам, но ни один из них не работает. Возможно, потому что туториал уже устарел (laravel постоянно развивается).
Вот моя ситуация:
У меня есть форма входа, эта форма аутентифицирует пользователя. И это прекрасно работает, это код в моем файле route.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() возвращает false. Я исследовал эту проблему в течение нескольких часов и не знаю, где продолжить...
В модели User метод getKey() возвращает null, поэтому я подумал, что моя база данных может быть неправильной. Но данные извлекаются отлично.
Спасибо за ваше время.