Windows 인증을 사용하여 사용자를 인증하고 인증하는 MVC 4로 작성된 인트라넷 프로젝트가 있습니다.'다른 사용자로 로그인'MVC 4 Windows 인증
'다른 사용자로 로그인'기능을 추가해야합니다.
일부 검색 후 나는 401을 반환 제안 this solution을 발견하고 (양식 사용하여 호출되는) 다음과 같은 동작을 만들어 : 작업이 호출되는
//
// POST: /Home/LogOut
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOut()
{
return new HttpUnauthorizedResult();
}
, 그리고 브라우저가 사용자 이름을 뜨고 암호 창은 결과로 다시 작업으로 리디렉션되므로 항상 401이 반환됩니다.
사용자가 새 자격 증명으로 로그인하면 어떻게 이전 작업으로 리디렉션합니까?
401을 반환하는 대신 서버 측에서 자격 증명을 무효화하는 방법이 있습니까?
은 아마 당신은 수동으로 사용자 로그 아웃, 로그 아웃 방법에 반환 URL 인수를 전달하는 생각이 반환 URL로 로그온 리디렉션해야합니까? –
Windows 인증을 사용할 때 '수동으로 사용자를 로그 아웃 하시겠습니까?' 내가 찾은 모든 솔루션은 403 응답을 브라우저에 보내야 자격 증명 상자가 표시됩니다. – Darbio
미안하지만, 나는 FormsAuth가 아니라 WinAuth에 대해 이야기하고 싶다. 내가 찾은 유일한 해결책은 -하지만 그것을 테스트하지 - 자바 스크립트를 통해 로그 아웃하는 것입니다 : http://stackoverflow.com/questions/1067263/asp-net-windows-authentication-logout (나는 특별한 logpout 페이지에 반환 URL을 전달 뜻 위의 javascript 로그 아웃 함수를로드 할 때 호출 한 다음 리디렉션 - windows.location JS object - user를 사용하여 쿼리 문자열에서 returnurl 인수로 결정한 페이지로 이동 –