Некоторые из этих идей доставляют пользователю неудобства, либо заставляя их сменить пароль, либо занимая их рабочий стол для сеанса отладки.
Идея Маркка - лучшая: дополнить логику аутентификации, чтобы суперпользователи могли войти в систему как отдельный пользователь, указав не учетные данные пользователя, а имя пользователя и его учетные данные суперпользователя.
Я делал это в прошлом (псевдо-иш питон):
if is_user_authenticated(username, userpassword):
login the user
else if ':' in userpassword:
supername, superpassword = userpassword.split(':')
if is_superuser_authenticated(supername, superpassword):
login the user
Другими словами, если имя пользователя и пароль не аутентифицируются, если в пароле есть двоеточие, то на самом деле это имя пользователя admin и пароль администратора, объединенные двоеточием, поэтому войдите в систему как имя пользователя, если они являются правильным именем администратора и пароль.
Это означает, что вы можете войти в систему как пользователь, не зная его секретов и не причиняя им неудобств.