Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.08.2016 21:12:19

Как сделать авторизацию "навсегда" ?

Как сделать авторизацию "навсегда" ?
Сейчас у меня сделано вот так:
Auth::login($user, true);

В документации сказано, что второй параметр отвечает за функцию "запомнить меня", т.е авторизация должна сохраняться, но авторизация сбрасывается спустя несколько часов, в чем проблема?

Не в сети

#2 18.08.2016 21:38:55

Re: Как сделать авторизацию "навсегда" ?

Нужно установить параметр lifetime в конфиге session.php на нужное количество минут (по умолчанию там 120 минут).

Не в сети

#3 18.08.2016 21:55:22

Re: Как сделать авторизацию "навсегда" ?

AlexeyMezenin пишет:

Нужно установить параметр lifetime в конфиге session.php на нужное количество минут (по умолчанию там 120 минут).

Какое максимальное значение там возможно? на многих сайтах авторизация не спадает вообще никогда

Не в сети

#4 18.08.2016 22:11:01

Re: Как сделать авторизацию "навсегда" ?

mrmen пишет:

Какое максимальное значение там возможно? на многих сайтах авторизация не спадает вообще никогда

Laravel умножает это число на 60 (секунд), поэтому для 32 бит максимальное число будет 35791394. Это 68 лет, думаю можно приравнять к "никогда". smile

Не в сети

#5 23.08.2016 21:25:40

Re: Как сделать авторизацию "навсегда" ?

  1. Нужно установить параметр lifetime в конфиге session.php на нужное количество минут (по умолчанию там 120 минут).

Ну да, и через какое-то время сайт сляжет из-за переполненного диска или начнёт тормозить, потому что в папке с сессиями будут сотни тысяч файлов, хранящиеся 68 лет.

Laravel должен сохранять cookie remember_..., которая как раз и должна прозрачно переавторизовывать пользователя без того, чтобы старая сессия сохранилась до этого времени. Такая cookie есть?

Не в сети

#6 28.08.2016 16:16:01

Re: Как сделать авторизацию "навсегда" ?

Proger_XP пишет:

}%> Нужно установить параметр lifetime в конфиге session.php на нужное количество минут (по умолчанию там 120 минут).
Ну да, и через какое-то время сайт сляжет из-за переполненного диска или начнёт тормозить, потому что в папке с сессиями будут сотни тысяч файлов, хранящиеся 68 лет.

Laravel должен сохранять cookie %%(t)remember_...%%, которая как раз и должна прозрачно переавторизовывать пользователя без того, чтобы старая сессия сохранилась до этого времени. Такая cookie есть?

Да, есть remember_web_...
но сессия все равно длилась не дольше чем указано в session.php
поставил месяц lifetime, теперь нормально.

Тоже думал на счет того что будет куча файлов сессий, но почему cookie не продляет сессию?

Изменено mrmen (28.08.2016 16:16:32)

Не в сети

Подвал раздела