D
D
D_E_S2016-12-28 11:23:55
Yii
D_E_S, 2016-12-28 11:23:55

Are there ready-made solutions for Yii2 user authorization?

The administrator maintains a list of users in the administrative part, it is necessary to be able to authorize under each of the users with the ability to return back to their admin panel. Are there ready-made Yii2 solutions for authorization under a different user? Or does it need to be done with auth_key and storing everything in the session?
PS: I got acquainted with yii2 not long ago.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
Максим Тимофеев, 2016-12-28
@D_E_S

$user_to_login = User::finOne($id);
if(Yii::$app->user->login($user_to_login, true ? 3600 * 24 * 30 : 0)){
echo "Вы авторизовались как пользователь с id - ".$id;
}else{
echo "Насяльника, я не смогла авторизоватися";
}

Илья Караваев, 2016-12-28
@Quieteroks

По хорошему необходимо разделить на два приложения. В Yii2 даже advanced шаблон под данную архитектуру настроен. Тогда у вас вопроса с auth_key не возникнет, при переходе в разные приложения.
Сделать авторизацию за пользователя легко, просто передать модель User в функцию Yii::$app->user->login($user, 0); Модель Вы можете получить по id в админке. Вопрос только в том, что бы авторизоваться в пользовательском разделе, а не в админке.
Расширения? Я искренне надеюсь, что такое никто не делает. Поскольку это огромная дыра в безопасности Вашего сайта. Все, что Вам нужно, вы должны вынести в админку, а не авторизовать админа под пользователем. Особенно если у Вас имеются приватные данные или имеете отношение с денежными средствами.

D
dbuhonov, 2021-01-25
@dbuhonov

Добавляешь метод в контроллере который будет перекидывать тебя на фронт с id нужного пользователя.
Во фронте авторизуешься через login как писали выше, и перенаправляешь куда тебе нужно

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question