일부 IIS6 사이트를 IIS7로 마이그레이션하기 시작할 준비가되었으며 응용 프로그램은 현재 폼 인증을 사용하고 있습니다. 우리는 사용자를 위해 Windows 인증을 사용하기 위해 다양한 사이트로부터 요청을 받기 시작했습니다. 이 방법은 구현하기 쉽지만 (내부적으로는 응용 프로그램에 문제가 없다는 것을 예상 한대로 나타냈다.) 다음 질문은 Windows가 작동하지 않을 때 Forms 인증을 유지하는 방법입니다. IIS6에서 어떻게 구성해야하는지에 대한 여러 가지 연습을 보았습니다. IIS7에서도 똑같은 작업을 할 수 있었지만 고전 모드 처리를 켜야했습니다. 가능한 경우 모든 솔루션을 IIS6에 다시 포팅하여 빌드 트리를 간단하게 유지해야합니다.IIS7 혼합 모드 인증
그럼 내 선택은 무엇입니까? IIS7의 Windows 통합 인증, web.config의 양식 인증 및 401 오류를 양식을 사용하여 로그인 할 수있게 해주는 "오류 페이지"로 리디렉션 한 다음 일반 응용 프로그램으로 다시 설정할 수 있습니까?
양식이 필요할 수있는 경우 계약 직원, 지원 직원 및 누군가가 익스트라 넷에서 사이트에 액세스해야하는 경우가 있습니다. 그래서 우리 직원이 기능을 확인하고 버그 보고서를 확인하기 위해 로그인하는 것이 가장 중요합니다. 우리는 지원 직원이 일하기를 원한다고 말했고, 항상 살아있을 Windows 로그인이 필요합니다. 그러면 우리는 누가 사이트에 로그인 할 수 있는지에 대한 지역 책임을 강요 할 것입니다.하지만 우리는 폼 인증을하는 것이 좋습니다.
의견이 있으십니까? 이미 포럼을 통해 도움이 필요하다면 이미 읽은 기사 링크를 게시 할 수 있습니다.
tl; dr : 기존 파이프 라인으로 변경하지 않고 IIS7에서 혼합 모드 인증 (폼, 창)을 수행하는 방법 및 가능한 경우 IIS6에서 빌드를 계속 사용할 수 있어야합니다.
내 기본 빌드 아래에 두 개의 별도 "프로젝트"가있는 것이 좋습니다 (a-la http://stackoverflow.com/questions/2432845/asp-net-mvc-and-mixed-mode-authentication). 엄격하게 Web.config MachineKey 당 컴퓨터 특정 쿠키를 발급하고 따라서 인증 메커니즘을 응용 프로그램 사용과 분리하여 보관하고 주 응용 프로그램에서 Forms를 유지할 수 있습니까? 그것이 가장 쉬운 방법 일 것입니다. – jcolebrand
아마도 다음과 같이해야합니다. http://www.15seconds.com/Issue/050203.htm 하지만 모두가 한 스택 아래에있을 때 매우 야만적 인 것처럼 보입니다. – jcolebrand
또한 원래의 질문과 몇 가지 응답을 게시 한 후에이 내용을 읽은 모든 사용자를 위해 : 사용자가 사이트를 탐색하고 401 응답에 자격 증명을 입력하지 않으면 다시 ASP.NET 기본 401 오류 페이지로 되돌아옵니다. 그 시점에서 내 양식 기본 페이지로 리디렉션하는 방법을 알아 내지 못했지만 (어쩌면 너무 빨리 그만 두지 않겠습니까?) – jcolebrand