2010-02-24 2 views
0

내 개발 환경에서 모든 것이 정상적으로 작동합니다. 모든 페이지에 액세스 할 수 있으며 보안 페이지에 도착하자마자 Request.IsAuthenticated를 확인하고 필요할 경우 로그인 페이지로 리디렉션합니다. IIS7에서 프로젝트를 배포 할 때 문제가 발생합니다. 내가 사이트에 액세스 할 때 공용 페이지라고 생각되지만 로그인 페이지 (web.config에 정의 된대로)로 리디렉션되고 있습니다 ... 관리 콘솔에서 양식 인증을 비활성화하면 Request.IsAuthenticated는 항상 true를 반환합니다. . so공용 페이지에 대한 폼 인증 사용 안 함

IIS를 ASP.NET 개발 서버처럼 작동하게하려면 어떻게해야합니까?

p.s. asp.net MVC로 작업 중입니다.

감사합니다. Eden.

+2

기본 asp.net 멤버 자격 또는 사용자 지정 멤버 자격 공급자를 사용하고 있습니까? 또한 [Authorize()] 작업 필터를 사용하여 사용자의 승인 여부를 결정하고 있습니까? – lancscoder

+0

나는 물건을 바꾸지 않았습니다. 저는 단순히 새로운 MVC 프로젝트 (visual studio 2008)를 시작했고 그대로 배포했습니다 ... IIS6에서는 모든 것이 예상대로 작동하지만 IIS7에서는 문제가 발생합니다 ... – Eden

답변

2

아마 web.config에 권한 섹션이 있으며 인증되지 않은 사용자에 대한 모든 요청을 거부합니다. 승인 섹션에 대한 자세한 내용은 this article을 확인하십시오. 그리고 그것은 분명히

<authorization> 
     <allow users="*" /> 
    </authorization> 

편집 26/02을 추가하여 인증되지 않은 사용자에 대한 액세스를 허용하는 것이 더있을 것입니다 :
는 아마 일부 특정 IIS 권한 부여 규칙 (IIS 7은 새로운 인증 메커니즘을 소개합니다)가 있습니다. IIS 관리 도구 (this article)를 사용하여 응용 프로그램에 정의 된 모든 규칙을 확인하는 것이 좋습니다. 아마도 changes between IIS 6 and IIS 7IIS 7 url authorization feature in details을 확인하는 것이 유용 할 것입니다.

또한 내 상자 (Windows 7)에서 확인했습니다. 간단한 asp.net mvc 응용 프로그램을 만들어 IIS (버전 7.5)에 배포했습니다. 그리고 모두 예상대로 작동했습니다. 아마도 루트 구성 (루트 폴더의 구성) 또는 machine.config에 배치되는 서버에 대한 몇 가지 제한 사항이있을 수 있습니다.

+0

아니요,하지 않습니다. . 이 기사는 생산 환경과 개발 환경의 차이점을 설명하지는 않지만 유망한 것으로 보입니다. – Eden