Windows 인증을 사용하는 MVC 3을 사용하는 ASP.NET 4.0의 ASP.NET 응용 프로그램이 있습니다.IIS7의 ASP.NET 인증 문제 - Windows 인증을 위해 User.Identity.Name이 비어 있습니다.
Visual Studio 2010에서 실행하면 모든 기능이 정상적으로 작동하지만 IIS7에 롤아웃하면 Windows 로그인 한 사용자가 결코 채워지지 않습니다 (User.Identity.Name 확인). 사용자 자격 증명에 대한 대화 상자 프롬프트도 나타나지 않습니다.
의 Web.config 설정 (도시되지 익명 금단 403 초래없이 콘텐츠를 디스 에이블) 익명으로
<authentication mode="Windows" />
는 IIS에서 I는 Windows 인증이 설정되어 있는지 알 수있다.
나는 "커널 모드 인증"(useKernelMode = "true")을 활성화 및 비활성화하려고 시도했지만 어떤 차이점도없는 것 같습니다. 인증을 제대로 수행하려면 다른 서버의 다른 사이트에서이 설정을 비활성화해야한다는 것을 기억합니다 (스택 아래에 잠재적 인 문제가 있음을 지적 할 수 있습니다). 경우
는 IIS의 applicationHost.config 파일에서 유용 :
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<digestAuthentication enabled="false" />
<basicAuthentication enabled="false" />
<windowsAuthentication enabled="true" useKernelMode="false">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
</security>
어떤 아이디어 문제가 될 수있는 것을?
미리 제안 해 주셔서 감사합니다. 1
업데이트 난에 테스트 다른 IIS7 서버를 찾기 위해 관리하고 내가 원하는대로 익명 액세스 모든 일을 사용할 경우 나는 발견했다. 그러나 익명 액세스를 사용하지 않도록 설정하더라도 원래 IIS7 서버에 여전히 문제가 있습니다 (지금 익명으로 유지하고 있습니다). 내가 추측하는 스택 아래로 더 많은 문제가 있어야합니다. 어떤 아이디어? 내가 상상할 수있는 것처럼 계속 튀어 나오고 물지려고 할 때 고쳐야 할 것이 있습니다. 그때 내가 로그인 프롬프트 대화 상자가 도전하고있는 문제 IIS7 상자 다이제스트 인증을 사용하는 경우
업데이트 2
모든 것이 내가 적절한 자격 증명을 제공하는 경우 예상대로 작동합니다. 그러나 이미 도메인에 로그인 한 사용자가있는 내부 웹 앱이기 때문에 이런 방식으로 도전하지 않으려 고합니다. 자격 증명은 두 번째 IIS7 상자에서 작동하므로 투명하게 통과해야합니다.
업데이트 3
일부 진전 ... 내가 발견 한이 웹 응용 프로그램은 다음과 같은 인증을 제공하는 다음 직접 IIS7의 ApplicationHost.config 파일을 편집 하위 사이트의 루트에 있고하지 않을 경우
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true">
<providers>
<clear />
<add value="NTLM" />
</providers>
</windowsAuthentication>
<digestAuthentication enabled="false" />
</authentication>
매우 적절한 결과를 제공하지 않는 인증을 구성하는 IIS7의 UI를 사용하여 : 설정은 예상대로 사이트가 작업 할 수 있습니다. IIS7에서 상속 받고 있다고 가정하기 때문에 병동 이후에 인증 항목이 누락되거나 틀린 설정이 있습니다 (windowsAuthentication이 제대로 작동하려면 현재 위의 공급자 구성이 필요합니다).
불행히도 문제의 웹 응용 프로그램은 실제로 내부 버전 (Windows 인증> www.site 사용)이므로 하위 응용 프로그램입니다.co.kr/internal) 및 외부 버전 (양식 인증> www.site.com/external)을 사용하십시오. 나는 아직 하위 응용 프로그램으로 작동하도록 인증을받을 수 없습니다. 나는 단지 "Error Code : 403 Forbidden"을 얻는다.
체크 아웃 : http://stackoverflow.com/questions/1067591/user-identity-name-blank-in-asp-net-mvc –
어떤 브라우저를 테스트하고 있습니까? 파이어 폭스의 경우 체크 아웃을 원할 수 있습니다. https://addons.mozilla.org/en-US/firefox/addon/integrated-auth-for-firefox/ 파이어 폭스는 Windows 인증을 "활성화"하지 않고 상자. – NotMe
환호 Davide,하지만 아무것도 도움이되었습니다. 이 사람은 web.config 설정을 놓쳤으므로 Windows 인증을 얻는 데 문제가있는 것처럼 보였습니다 (VS 또는 IIS에서 작동하지 못함). 모든 것이 VS에서 나에게 잘 작동합니다. IIS가 정상적으로 작동하지 않습니다. – Gavin