2012-03-03 3 views
0

내 공유 호스팅의 특정 폴더에 대한 액세스를 구성하려고 나는 가이드로 이것을 사용 : http://support.microsoft.com/kb/316871의 Web.config 및 디렉토리 액세스는 기본적으로

내 Web.config의이 부분 :

<system.web> 
    <authorization> 
    <deny users="?"/> 

    </authorization> 
    <authentication mode="Forms"> 

    <forms name="Authlogin" loginUrl="logon.aspx" protection="All" timeout="60" path="." /> 

    </authentication> 

사용자가 무단으로 로그온하면 logon.aspx로 리디렉션됩니다. 이 솔루션은 Visual Studio 테스트 서버에서 잘 작동하며 사용자는 logon.aspx로 리디렉션되지만 공유 호스팅 (godaddy)에서는 전혀 작동하지 않습니다. 규칙을 무시한 것처럼 보입니다. 아이디어를 얻는 방법 또는 호스팅에서 작동하지 않는 이유는 무엇입니까?

편집 내가 알이 내가 무엇을 요청하는 경우 어떤 한 후 내가 모든 파일을 요청한다면 logon.apsx.But로 리디렉션 될 수 ASP 페이지 (ASHX, apsx, ASMX) (HTML, TXT의, JPG 및 요법) 양식 인증은 무시됩니다. 동일한 문제가 로컬 IIS 7.5에서 발생합니다.

+0

시도해 볼 수 있습니다. : loginurl = "~/logon.aspx" – Mubarek

+0

제안 해 주셔서 감사합니다. 시도했지만 작동하지 않습니다 .I 내가 machine.config에서 몇 가지 규칙을 무시해야한다고 생각해. 또한 로컬 컴퓨터에 IIS를 설치하고 거기에 내 프로젝트를 시도. 아니 행운 .. 인증 logon.aspx로 리디렉션하지 않으며 익명 사용자를 차단하지 않습니다. 서버 구성과 같은 문제 – user1247309

답변

0

문제점과 해결책을 찾았습니다. IIS와 ASP.NET이 asp.net 페이지 만 제어하고 있습니다. 따라서 IIS에서 모든 파일을 검토하여 웹에서 변경했습니다. 설정 먼저 내가 같은의 system.webServer

이 추가되면이 (그것은 내가 그것을 이해하는 방법 =))) 를 ASP.NET 폼 인증에 대한 작업 IIS를 가능하게 할 것이다

<modules> 
     <remove name="FormsAuthenticationModule" /> 
     <add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" /> 
     <remove name="UrlAuthorization" /> 
     <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" /> 
     <remove name="DefaultAuthentication" /> 
     <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" /> 
</modules> 

의 system.webServer이 추가

<security> 
     <authorization> 
     <remove users="*" roles="" verbs="" /> 
     <add accessType="Deny" users="?"/> 
     <add accessType="Allow" users="*"/> 
     </authorization> 

내 솔루션이 동일한 문제가있는 다른 사용자에게 도움이되기를 바랍니다.