Если вы используете проверки подлинности с помощью форм , все, что вам нужно сделать, это создать файл 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, я не думаю, что это возможно(поправьте меня, если я ошибаюсь).