2013-08-27 4 views
0

두 개의 다른 응용 프로그램을 서버에 배포해야하는 프로젝트에서 작업하고 있습니다. 하나는 Cognos 웹 사이트이고 다른 하나는 .NET 웹 사이트입니다.ASP.NET MVC에서 클라이언트 인증서를 사용하는 Active Directory 인증

요청이 웹 서버 (IIS)로 왔을 때 클라이언트 인증서 선택을 요청해야합니다. 일단 클라이언트 인증서를 선택하면 다시 돌아가서 Active Directory 사용자와 연결되어 있는지 확인해야합니다.

기본적으로 .NET을 사용하는 Active Directory 및 클라이언트 인증서를 사용하여 인증을 구현하려고합니다.

제안/방향에 대해 감사드립니다.

답변

0

코드 없이도 정상적으로 작동합니다.

먼저 웹 사이트의 익명 액세스 및 기본 인증을 해제하고 통합 Windows 인증 및 인증서 통합을 설정합니다.

그런 다음 asp.net 응용 프로그램에서 인증 모드를 windows로 설정하십시오.

그런 다음 웹 사이트의 SSL을 켜고 "클라이언트 인증서 필요"옵션을 선택하십시오. 이제, 브라우저는 인증서 통합 인증 및 클라이언트 시스템을 지원하는 경우에서

http://technet.microsoft.com/pl-pl/library/cc753983%28v=ws.10%29.aspx

중 하나를 사용자 저장소 (IE) 또는 브라우저 저장소 (다른 브라우저)의 인증서를 가지고, 브라우저가 자동으로 묻습니다 사용자가 인증서를 선택하십시오.

나의 조언은 인증서없이 인증서없이 ("클라이언트 인증서 필요"를 선택하지 않음) SSL을 통한 통합 Windows 인증으로 시작하는 것입니다. IE로 테스트하고 자격 증명에 대한 프롬프트없이 사용자가 자동으로 인증 될 때까지 IIS를 구성하십시오.

가장 번거로운 부분입니다. 작동 시키면 클라이언트 인증서 요구 사항 만 실행하면됩니다.

+0

여기 내 문제는 내가 자격 증명에 대한 프롬프트없이 인증을 알아낼 수 없다는 것입니다. 어떤 설정을 아십니까? – Dips

+0

네, 얼마 전이 문제로 고생했습니다 : http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html –

+0

예,이 설정은 정확합니다. 나는 과거에 같은 도메인에서 Windows 인증을 해왔다. 내 경우에는 같은 도메인에 둘 다 없어. 그래서 클라이언트 인증서가 Active Directory 사용자와 연결되어 있는지 여부를 식별하는 방법, 코드를 통해 처리 할 수 ​​있습니까? 아니면 iis 자체에서 수행 할 수 있습니까? – Dips