Можно ли имитировать опыт уникального пользователя с помощью кода в веб-приложении c # ASP.net? - PullRequest
0 голосов
/ 07 марта 2011

у нас есть веб-приложение ASP.net, работающее на IIS7.У нас несколько пользователей, но мы не всегда знаем их пароль.Вот что мы хотели бы сделать:

Войдите в систему как какой-то администратор, представьте наш текущий список пользователей, нажмите своего рода «Запуск от имени пользователя John Doe», после чего мымы могли бы видеть приложение (или определенные страницы) от имени этого пользователя.

Мы собираемся сделать это в режиме поддержки / отладки.Я посмотрел на олицетворение ASP.net, но здесь это не касается.

Любая помощь / совет приветствуется.Если я живу в мире снов, пожалуйста, дайте мне знать.

1 Ответ

2 голосов
/ 07 марта 2011

Если вы используете проверки подлинности с помощью форм , все, что вам нужно сделать, это создать файл cookie для проверки подлинности с именем пользователя, которого вы пытаетесь олицетворять:

// Need to be signed as administrator in order to be
// able to impersonate
if (User.IsInRole("Administrator"))
{
    FormsAuthentication.SetAuthCookie("johndoe", false);
}

и наСледующий запрос у вас будет John Doe.Вы также можете сохранить некоторое значение в сеансе, чтобы указать, что это администратор, действующий от имени Джона Доу, если вам когда-либо понадобилась эта информация.

Если вы используете аутентификацию Windows NTLM, я не думаю, что это возможно(поправьте меня, если я ошибаюсь).

...