Я пытаюсь использовать функцию Laravel Auth::attempt()
, но она всегда переписывает меня на страницу входа, даже когда я использую имя пользователя valide
и password
.
Это мой путь:Laravel Auth :: попытка() перенаправить меня всегда на страницу входа
Route::get('/login', '[email protected]');
Route::post('/login', '[email protected]');
Route::get('/users/members', array('before' => 'auth', function()
{
return View::make('users.members');
}));
И это моя loginAction
функция:
public function loginAction() {
$rules = array('username' => 'required',
'password' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
$messages = $validator->messages();
return Redirect::to('login')
->withErrors($validator)
->withInput(Input::except('password'));
}
else {
$user = array(
'username' => Input::get('username'),
'password' => Input::get('password')
);
$auth = Auth::attempt($user);
if ($auth) {
dd(Auth::check()); // this return always **True**
return Redirect::to('users/members');
} else {
return Redirect::to('login')
->withErrors(['Login Failed please try again']);}
}
}
Когда я использую неправильно username
и password
это показать мне сообщение об ошибке Login Failed please try again
, и когда я использую данные Валиде это rederict me to the Login page without showing any error
Обновление Путь Фильтр:
Route::filter('auth', function()
{
if (Auth::guest())
{
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('login');
}
}
});
Update 2: Это моя страница профиля (где я хочу быть перенаправлены после входа в систему):
Route::get('/users/members', function()
{
dd(Auth::check()); This always return **false**
});
Так что проблема, так как я думаю, что аутентификация пользователей не сохраняются после того, как вошли в систему.
, что URL вы неоспоримый перенаправлены с действительными данными? также, попробовали ли вы 'dd (Auth :: user())' в вашем маршруте '/ users/members'? – nozzleman
Работа с url прекрасна, и я попробовал 'dd (Auth :: user())' непосредственно перед 'return Redirect :: to ('users/members');' line и он покажет мне информацию о пользователе. Также я провел несколько тестов, и я понял, что после успеха аутентификации сеанс не сохраняется автоматически. – Chlebta