Разрабатываю админку для приложения.
Одна из функций админки, залогинится под любым пользователем и зайти в его личный кабинет.
Не подскажете каким образом это лучше реализовать.
1. Можно ли как то установить для разных пользователей на одном браузере разный sessionID
2. Или придется расширять class WebUser для работы с несколькими пользователями одновременно.
Несколько сессий пользователей в одном приложении
Re: Несколько сессий пользователей в одном приложении
ИМХО - бредовая идея. И вряд ли это можно вообще.nikitakls писал(а):1. Можно ли как то установить для разных пользователей на одном браузере разный sessionID
Вариант 1: делаешь какой-то пароль который действует для всех юзеров. Имхо - тоже херня, потому-что во-первых небезапасно, во-вторых получается что админ имеет возможность работать от именю юзера, и потом не отследить кто что натворил.
Вариант 2: Позволить админу работать с данными любого пользователя. Делается с пом. RBAC
Вариант 3: Входишь сначала под админом. Оттуда уже входишь под юзером, и где-то сохраняшь в сессии, мол, я админ, но работаю под юзером. При выходе возвращаешся опять к админу. Проблема - та-же что у первого варианта - не отследить. Ее (проблему), уонечно можно как-то обыграть, но все-таки как-то неправильно...
Re: Несколько сессий пользователей в одном приложении
Решил пока действовать следующим образом
1. У админа есть id и aid - пользователь под которым нужно будет выполнять команды.
2. У обысного пользователя id=aid
3. При логине под другим пользователем меняем aid
4. При действии смотрим id=aid и если id!=aid проверяем админ ли это и выполняем команду под нужным пользователем.
5. Если нужно что-то отслеживать то в логи пишем id
не знаю насколько это good
1. У админа есть id и aid - пользователь под которым нужно будет выполнять команды.
2. У обысного пользователя id=aid
3. При логине под другим пользователем меняем aid
4. При действии смотрим id=aid и если id!=aid проверяем админ ли это и выполняем команду под нужным пользователем.
5. Если нужно что-то отслеживать то в логи пишем id
не знаю насколько это good