Laravel по-русски

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

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

#1 22.04.2017 12:21:01

Аутентификация Laravel [5.4]

1. Зачем laravel создает файлы сессии для незареганного юзера, да еще и в таком большом кол-ве?
2. Если использовать только сырые запросы к бд, вида DB:select();, при нескольких запросах на 1 странице, они будут исполняться в рамках одного подключения?
3. Зачем при использовании Auth::check(), laravel лезет в бд, вместо проверки наличия сессии/(переменной в сессии).
4. Проверка Auth::check() с запросом к БД, выполняется только 1 раз на странице, то есть если сделать проверку в контроллере, а затем в шаблоне, то будет только 1 запрос?
5. Где есть полное описание того как работает аутентификация в laravel, не краткое руководство к действию, а именно логика со всеми нюансами?

Не в сети

#2 23.04.2017 18:07:44

Re: Аутентификация Laravel [5.4]

1. скорее всего не распознаются созданные сессии и на каждый запрос создаётся новая
2. у каждого запроса своё подключение конечно же, как и положено в пхп
3. чтобы на Auth::user() была доступна запись активного пользователя
4. да, запрос выполняется только при инициализации
5. полное описание – только в исходниках. достаточно подробное – в документации

Не в сети

#3 24.04.2017 08:19:43

Re: Аутентификация Laravel [5.4]

2. А не логичнее использовать одно подключение для выполнения всех запросов на странице?
3. А зачем каждый раз получать запись активного юзера, когда его можно записать в сессию при входе. Какой смысл тогда в сессиях если каждый раз придется дергать бд. Если это заморочки с повышением безопасности, то я не вижу/не понимаю логику того как и зачем это реализовано.

Не в сети

#4 24.04.2017 09:42:50

Re: Аутентификация Laravel [5.4]

2. под «запросом» я имел в виду http-запрос. на одной странице конечно одно подключение
3. состояние пользователя может быть изменено в базе, а механизма который бы автоматически обновил его во всех открытых сессиях не существует. на самом деле я уже делал частичное хранение данных пользователя в сессии в одном из проектов – задолбался. слишком много мест где эти данные меняются и не всегда в контексте активной сессии. на самом деле даже в ларавеле есть смысл перед выполнением отдельных операций, требующих наличия только актуальных данных выбирать данные повторно и устанавливать блокировку, чтобы избежать race condition – например при списании денег с баланса пользователя. реально выборка делается по первичному ключу (по id) – такие запросы в базе самые быстрые

Не в сети

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