2011-06-22 35 views
0

我有一个基本的ASP.NET网站在IIS7中设置,并在服务器上启用表单身份验证。只是咧嘴一笑,我否认大家:IIS7表单身份验证不拒绝图像访问

<?xml version="1.0"?> 
<configuration> 
    <system.web> 

    <authentication mode="Forms"> 
     <forms name=".ASPXAUTH" loginUrl="Login.aspx" defaultUrl="Test.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true"/> 
    </authentication> 

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

    <compilation debug="true"/> 
    </system.web> 
</configuration> 

当我访问Default.aspx页,我尽职尽责地得到重定向到Login.aspx页面。但是,我可以浏览到同一站点根目录下的.txt文件或.png文件,并且不显示任何问题。

这很奇怪,因为在Cassini dev服务器中,对这些文件的访问被阻止。这只有在我发布到我的IIS7服务器时才会发生。

我必须在IIS7中丢失一些东西,但我无法弄清楚我的生活。

  • 我有自己的.NET 4.0应用程序池的网站启用集成模式。
  • 在服务器上启用表单身份验证
  • 在编辑FormsAuthentication模块的托管模块弹出窗口中,我尝试取消选中“仅调用请求...”,但当我这样做时抛出某种奇怪的错误(某种缺失的程序集?这是一个没有装饰的新服务器安装,所以我无法想象这是怎么回事)。

任何人都可以在正确的方向指向我吗?

谢谢! Droidilate

回答

1

首先,你必须使用集成的管道,然后添加这在你的web.config中:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="false"> 
    <remove name="FormsAuthenticationModule" /> 
    <add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" /> 

    <remove name="UrlAuthorization" /> 
    <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" /> 
    </modules> 
</system.webServer> 
相关问题