【问题标题】:IIS7 Forms Authentication Doesn't Deny Image AccessIIS7 表单身份验证不会拒绝图像访问
【发布时间】:2011-06-22 22:23:57
【问题描述】:

我在 IIS7 中设置了一个基本的 ASP.NET 网站,并在服务器上启用了表单身份验证。只是为了笑,我否认所有人:

<?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 开发服务器中,对这些文件的访问被阻止了。这仅在我发布到我的 IIS7 服务器后才会发生。

我一定是在 IIS7 中遗漏了一些东西,但我一辈子都想不通。

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

谁能指出我正确的方向?

谢谢! 机器人化

【问题讨论】:

    标签: iis-7 forms-authentication


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 2019-12-12
      • 2016-03-15
      • 2016-02-19
      • 2012-03-05
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 2019-02-15
      相关资源
      最近更新 更多