我有一个包含一些文件的目录, 我想仅当用户成功登录网站时才允许访问此目录中的文件。 由 aspNet 成员表管理并存储在数据库中的登录用户和密码。
如果该目录位于网站上就很容易,因为它默认受限 但目录的物理路径不在网站内 我更喜欢这样,因为这个目录可以从另一个网站访问
如何解决? 谢谢
最佳答案
您应该将 runAllManagedModulesForAllRequests 属性添加到您的 web.config 中的模块标签,如下所示:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
...
</modules>
...
</system.webServer>
这会将您的 dotnet 安全性强加于所有文件,例如 word 文档等。然后您可以使用 web.config 中的位置部分保护文件夹,如下所示:
<location path="SomeVirtualDirectory">
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
</location>
关于asp.net - 如何防止在不登录网站的情况下访问虚拟目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21532175/