У меня есть приложение Django. Когда вы вошли в систему как пользователь с правами администратора, я хочу иметь возможность передавать секретный параметр в URL, и весь сайт ведет себя так, как если бы я был другим пользователем.
Допустим, у меня есть URL /my-profile/
, который показывает профиль авторизованного пользователя. Я хочу иметь возможность сделать что-то вроде /my-profile/?__user_id=123
, и у меня есть базовое представление, что я на самом деле пользователь с идентификатором 123 (таким образом, отображает профиль пользователя).
Почему я этого хочу?
Просто потому, что гораздо проще воспроизвести некоторые ошибки, которые появляются только в учетной записи одного пользователя.
Мои вопросы:
Какой самый простой способ реализовать что-то подобное?
Есть ли какие-либо проблемы с безопасностью, которые я должен иметь в виду при этом? Обратите внимание, что я (очевидно) хочу иметь эту функцию только для пользователей-администраторов, и наши пользователи-администраторы в любом случае имеют полный доступ к исходному коду, базе данных и т. Д., Так что это на самом деле не «черный ход»; это просто облегчает доступ к учетной записи пользователя.