Недавно я решил добавить функцию «запомнить меня» в свое приложение Laravel 4. Был найден подходящий метод с синтаксисом:
Auth::attempt(array $credentials = array(), $remember = false)
Это было принято для моих нужд так:
Auth::attempt($userdata, Input::has('remember'))
Приложение сохраняло сеанс аутентификации, и пользователь аутентифицировался даже после закрытия браузера.
Хотя я обнаружил, что теперь Laravel всегда аутентифицирует пользователя, независимо от того, в каком состоянии стоит галочка «запомнить».
Я пытался сделать:
Auth::attempt($userdata, false)
и
Auth::attempt($userdata,)
Пользователь все еще был аутентифицирован во время сеансов браузера!!! Теперь, поскольку Auth::attempt($userdata)
не поддерживает сеанс аутентификации, я чувствовал, что всякий раз, когда есть указания на второй аргумент в методе Auth::attempt
, Laravel автоматически принимает его как «истинный». Кто-нибудь может это прояснить?
РЕДАКТИРОВАТЬ: Чтобы всем было понятно, я перечислю шаги для воссоздания этого поведения:
- Выход из приложения
Auth::logout();
- Войдите снова
Auth::attempt($userdata, false)
- Закройте и откройте браузер
- Перейдите по ссылке приложения.
- Приложение загружено, аутентифицировано
Это мой первый вопрос, поэтому, пожалуйста, будьте терпеливы со мной :)