@D_E_S

Есть ли готовые решения на Yii2 авторизация под пользователем?

Администратор ведет список пользователей в административной части, необходимо иметь возможность авторизации под каждым из пользователей с возможностью вернутся назад к себе в админку. Существует ли готовые решения на Yii2 для авторизации под другим пользователем? Или это необходимо сделать с помощью auth_key и хранением всё в сесии?

P.S.: С yii2 познакомился только не давно.
  • Вопрос задан
  • 1276 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
$user_to_login = User::finOne($id);
if(Yii::$app->user->login($user_to_login, true ? 3600 * 24 * 30 : 0)){
echo "Вы авторизовались как пользователь с id - ".$id;
}else{
echo "Насяльника, я не смогла авторизоватися";
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Quieteroks
php программист
По хорошему необходимо разделить на два приложения. В Yii2 даже advanced шаблон под данную архитектуру настроен. Тогда у вас вопроса с auth_key не возникнет, при переходе в разные приложения.

Сделать авторизацию за пользователя легко, просто передать модель User в функцию Yii::$app->user->login($user, 0); Модель Вы можете получить по id в админке. Вопрос только в том, что бы авторизоваться в пользовательском разделе, а не в админке.

Расширения? Я искренне надеюсь, что такое никто не делает. Поскольку это огромная дыра в безопасности Вашего сайта. Все, что Вам нужно, вы должны вынести в админку, а не авторизовать админа под пользователем. Особенно если у Вас имеются приватные данные или имеете отношение с денежными средствами.
Ответ написан
@dbuhonov
Добавляешь метод в контроллере который будет перекидывать тебя на фронт с id нужного пользователя.
Во фронте авторизуешься через login как писали выше, и перенаправляешь куда тебе нужно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы