2012-05-02 3 views
0

나는 클라이언트의 Windows 로그온 사용자 이름을 사용하는 자동 인증 기능이있는 ASP.NET MVC 3 응용 프로그램을 사용하고 있습니다.ASP.NET MVC 인트라넷 앱이 제대로 작동하도록 IIS를 구성하는 방법은 무엇입니까?

VS 웹 서버에서 앱을 실행할 때 완벽하게 작동합니다. 임의의 포트에서 시작하여 즉시 모든 HTTP 요청을 받아들이고 웹 서버에 내 Windows 사용자 이름을 올바르게 전달합니다 (컴퓨터 이름과 함께).

이 프로젝트를 IIS 7.5에 배포 할 때 어떤 방식 으로든 웹 사이트에 액세스 할 수 없습니다. 인증 옵션을 변경하고 결과가 없습니다. IIS가 자격 증명을 묻거나 "오류, 액세스 없음"페이지를 표시합니다.

따라서 자격 증명을 자동으로 제공하여 누구나 올바르게 사이트를 열도록 구성하려면 어떤 옵션을 구성해야합니까?

+0

어떤 인증 모드를 설정하셨습니까? 그리고 무엇을 사용하고 싶습니까? AD/NTLM/Kerberos 사용 하시겠습니까? – abatishchev

답변

2

웹 사이트에 대해 IIS에서 Windows 인증을 사용하도록 설정해야합니다.

+0

+1 또는 특정 웹 응용 프로그램 (가상 디렉터리). – abatishchev

+0

또한 익명 인증을 해제해야합니다. – pms1969

0

Windows 인증을 사용하려면 IIS에서 활성화하고 다른 유형을 비활성화하십시오. Internet Explorer 및 Chrome에서만 자동으로 작동합니다. Opera와 Firefox가 자격 증명을 요청할 것입니다.

또 하나의 문제는 실제로 내장 웹 서버에서 테스트하는 것입니다. 기능을하는 동안 당신이 기대하는대로 정확하게 인증을 처리하지 않습니다. 심지어 NTLM을 활성화하고 웹 사이트를 인증 할 때도 여전히 일부 장소에서 익명 인증을 사용합니다.

이러한 웹 사이트는 기본 제공 서버가 아닌 로컬 IIS에 배포하고 테스트 할 것을 제안합니다. VS에서 직접 설치하기 쉽습니다. 이미 Windows에 설치하지 않은 경우에만 활성화해야합니다. 또한 IIS의 인증을 올바르게 설정하는 데 유의하십시오.

행운을 빈다.

1

또한 지금처럼 <system.web> 태그 아래에 web.config 파일 내에서 Windows 인증을 사용하는 사이트를 설정할 수 있습니다 : 이것은 다음에 인증 모드를 설정합니다 IIS에 의해 포착됩니다

<system.web> 
    <authentication mode="Windows" /> 
</system.web> 

을 Windows.

관련 문제