Я пытаюсь выйти из приложения интрасети, которое также доступно из Интернета при входе с использованием служб федерации Active Directory.
Во-первых, я только что сделал href для https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0
. На странице федерации появится и отобразится сообщение: «Вы успешно вышли из системы!» Но если я вернусь, я снова смогу получить доступ к веб-приложению без повторного входа. Я также попытался добавить параметр перенаправления, чтобы пользователю было предложено снова ввести учетные данные. Но перенаправление не происходит.
Позже я создал Action в одном из моих контроллеров. Вот код:
public ActionResult Logoff()
{
string absoluteUrl = HttpContext.Request.Url.AbsoluteUri;
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/")+1);
WSFederationAuthenticationModule.FederatedSignOut(new Uri(@"https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0"), new Uri(replyUrl));
return null;
}
Но проблема та же.
Третье, что я попробовал, это удалить куки перед выходом. Но похоже, что cookie для аутентификации находится в домене, а не в моем приложении, поэтому он недоступен.
Как мне решить эту проблему?
Пожалуйста, помогите.