Laravel auth не работает через несколько секунд

Я создал приложение, используя laravel. Вчера я выложил приложение в живую, но у меня много проблем с аутентификацией. Никто не может войти в систему, кроме случаев, когда они сбрасывают свой пароль, и тогда это работает один раз.

Я проверил это с помощью следующего контроллера.

<?php

class AdminController extends \BaseController {

public function getResetPw($id, $pw) {
//Log updaten en naar de database sturen
$log = new UserLog;
$log->status = 'Changepw:' . $id;
$log->save();

// Start password changing.
$user = User::find($id);

if ($user == null)
return "No valid user";

$user->password = Hash::make($pw);
$user->save();

return "Password set for " . $user->username . ". ('" . $pw . "', '" . $user->password . "')<br /><br />Check: " . Auth::attempt(array('username' => $user->username, 'password' => $pw));
}

public function getTestPw($id, $pw) {
// Start password changing.
$user = User::find($id);

if ($user == null)
return "No valid user";

return Auth::attempt(array('username' => $user->username, 'password' => $pw)) . "";
}
}

Сначала я позвонил getResetPw функция, чтобы установить мой новый пароль, затем я вызываю getTestPw чтобы проверить это. Я обновляю страницу каждую секунду, и она возвращается 1 примерно 5 раз, а затем аутентификация становится недействительной. То есть я больше не могу войти.

Это маршруты для вышеуказанных функций:

Route::get('/admin/pwreset/{id}/{pw}', 'AdminController@getResetPw')->where('id', '\d+');
Route::get('/admin/pwtest/{id}/{pw}', 'AdminController@getTestPw')->where('id', '\d+');

Может ли это быть из-за недопустимых символов в моем ключе шифрования? Это мой ключ шифрования (с заменой некоторых букв): ROOzr*Dqmoense_se_emvnqmd!*tft7e

Спасибо за помощь.

Обновить:
Это код для входа в систему:

public function postLogin()
{
$message = "";  // Het errorbericht dat moet worden weergegeven.

//We prepareren een log voor in de database
$log = new UserLog;

// Zijn alle gegevens ingevuld?
if (Input::has('txtUsername') && Input::has('txtPassword'))
{
$log->username = Input::get('txtUsername');

// Controlleer de ingevulde gegevens.
//$auth = User::where("username", "=", Input::get('txtUsername'))->first();
if (Auth::attempt(array('username' => Input::get('txtUsername'), 'password' => Input::get('txtPassword'))))
//if (Hash::check(Input::get("txtPassword"), $auth->password))
{
//Auth::login($auth);

//Log updaten en naar de database sturen
$log->user_id = Auth::user()->id;
$log->status = 'LoginSuccess';
$log->save();

return Redirect::intended('/user');
}
else
{
$log->status = 'LoginFailed';
$log->save();

$message = "Geen geldige gegevens.";

// If the username is known, let the webmasters know.
if (User::where('username', '=', Input::get('txtUsername'))->count() > 0)
{
$data = array(
"username" => Input::get('txtUsername'),
"ip" => $_SERVER['REMOTE_ADDR'],
"user_agent" => $_SERVER['HTTP_USER_AGENT']
);
Role::find(1)->sendMail(
'KLJ Loginpoging (' . Input::get('txtUsername') . ')',
'emails.auth.loginAttempt',
$data
);
}
}
}
else
{
$message = "Vul alle velden in aub.";
}

return View::make('login.login')->with('message', $message);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …