У меня есть проект интрасети, написанный в MVC 4, который использует проверку подлинности Windows для авторизации и аутентификации пользователей.
Мне нужно добавить функциональность "Войти как другой пользователь".
После некоторого поиска я нашел это решение, которое предлагает вернуть 401, и создал следующее действие (которое вызывается с использованием формы):
//
// POST: /Home/LogOut
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOut()
{
return new HttpUnauthorizedResult();
}
Действие вызывается, и браузер открывает окно имени пользователя и пароля, однако по мере того, как результат перенаправляется обратно на действие, возвращается 401.
Как перенаправить пользователя назад к предыдущему действию после входа в систему с новыми учетными данными?
Есть ли способ аннулировать учетные данные на стороне сервера вместо того, чтобы просто возвращать 401?