繁体   English   中英

使用表单身份验证保护 Asp Net Classic 模式下的静态文件

[英]Protect static file on Asp Net Classic Mode with Forms Authentication

从昨天开始,我一直在努力解决这个问题。

我有一个站点(框架 4.0),托管在 Windows Server 和 IIS 7.5 in Classic Mode 不幸的是,我无法将其更改为集成模式。

我需要保护文件夹中包含的文件。

只有经过身份验证的用户(使用表单身份验证)才能访问它们。 匿名用户不是。

我试图在 webconfig 中以这种方式保护文件夹:

<location path="Riservata/Files">
      <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
      </system.web>
</location>

但我仍然直接访问这些文件。

有人可以帮助我吗?

对于未来的用户:我解决了这个问题,在我的 IIS 7.5 上写了一个通配符。 IIS 在我要保护的文件夹上自动写入了一个新的 web.config:

<configuration>
    <system.webServer>
        <handlers>
            <add name="Proteggi_File_WildCard" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
        </handlers>
    </system.webServer>
</configuration>

此代码激活 ISAPI 模块并将所有调用(“*”)带到 ASP NET 管道,因此如果用户未通过表单身份验证进行身份验证,则会重定向到登录页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM