2009-05-09 5 views
1

저는 ASP.NET MVC 애플리케이션을 만들고 폼 인증을 사용하고 있습니다. 내 컨트롤러 액션에서 나는이 : 좋은 일하고있다ASP.NET MVC 응용 프로그램에서 Windows 인증을 요청하는 이유는 무엇입니까?

[권한 부여 (사용자 = "저, 조")]

. 어젯밤에 최신 변경 사항을 게시하고 내 웹 사이트를 보려고하면 Windows 인증 대화 상자가 나타납니다. 모든 코드를 살펴본 결과 Windows 인증으로 변경되는 이유를 알 수 없습니다. 내 web.config 파일은 적어도 10 일 후에 변경되지 않았습니다. 내 dev에 상자에서 코드를 실행하면이 작업을 수행하지 않습니다 ... 단지 내 호스트에서 실행할 때. 내 컨트롤러 동작에서 승인 줄을 제거하면 발생하지 않습니다.

이 문제를 어떻게 해결할 수 있습니까? 또는 어떻게 솔루션을 디버그하여 이러한 현상이 발생하는지 확인할 수 있습니까?

BTW, 내 Web.config를 말한다 :

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880" /> 
</authentication> 

답변

3

이것은 대부분 웹 서버의 웹 사이트의 폴더에 대한 인증 및 권한에 대한 IIS 설정 않습니다. 나는 다른 것보다 먼저 그 두 가지를 모두 조사 할 것이다.

+0

이것은 호스팅 솔루션이므로 내 호스트 웹 기반 제어판의 어딘가에 있습니까? 코드에서 Authorize 줄을 제거하면이 변경 사항이 더 중요한 이유는 무엇입니까? – Whozumommy

+0

권한 부여 특성을 해제하면 익명 액세스가 허용되므로 권한 부여 프롬프트가 표시되지 않습니다. 나는 무언가가 Windows 인증을 허용하도록 권한 부여 설정을 재설정 한 것으로 의심됩니다. 이것들이 부모로부터 상속 받도록 설정되어 있고 부모 설정이 변경 되었다면, 그것을 설명 할 수 있습니다. – tvanfosson

+0

그러나 이것을 호스팅 환경에서 어떻게 설정하거나 테스트 할 수 있습니까? 내 호스트 제어판 (HELM)은 폴더의 속성을 설정하는 방법을 포함하지 않는 것 같습니다. – Whozumommy

0

난 당신이 Windows 탐색기를 사용 권한을 부여하고자하는 폴더로 이동하여, IUSER에 대한

IWAM

을 사용 권한을 설정해야합니다 생각합니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오. 결과 대화 상자에서 맨 위에있는 "보안"탭을 클릭하십시오. 그런 다음 이러한 계정에 대한 보안을 추가하거나 편집 할 수 있습니다 (IUSR_machineName, IWAM_macnineName 및 ASPNET).

+0

이것은 호스팅 된 솔루션이므로 폴더를 찾을 수 없습니다. 내 로컬 사본에서해야한다고 말하는거야? – Whozumommy

+0

아니요, 로컬 복사본은 이미 작동하지만 서버에서는 작동하지 않습니다. 호스트의 제어판을 탐색하여 수정하거나 FileZilla와 같은 FTP 클라이언트 응용 프로그램을 사용하여 폴더 권한을 설정하십시오. –

1

어둠 속에서 촬영하고 있는데 web.config에 <identity> 설정이 있습니까?

<system.web> 
    ... 
    <identity impersonate="true"/> 
    ... 
</system.web> 

그렇다면이 줄을 제거하는 것이 도움이 될 수 있습니다. 또한 Windows 인증이 갑자기 웹 사이트에 적용되는 이유를 호스팅 제공 업체에 문의하는 데 도움이 될 수 있습니다. 다른 사람들이 언급했듯이이 동작을 일으킬 수있는 IIS 설정이 있습니다.

관련 문제