asp.net - 如何拒绝匿名用户访问虚拟目录

标签 asp.net forms-authentication virtual-directory

如何拒绝那些尚未登录我的 asp.net 网站的人访问我的虚拟目录?

我已将我的网站连接到我的服务器上设置的虚拟目录(使用 IIS 7)。 VD 包含 pdf 文件,我希望只有登录用户才能访问。然而,我的问题是我似乎也无法“拒绝”匿名用户访问文件。目前,如果我在虚拟目录中输入 pdf 文件的直接路径,即使我没有登录我的网站,我也可以访问它。

我的虚拟目录的根目录中有一个 web.config 文件设置,如下所示:

 <?xml version="1.0"?>
 <configuration>
   <system.web>
     <authentication mode="Forms">
        <forms loginUrl="Login.aspx" />
     </authentication>
     <authorization>
        <deny users="?" />
     </authorization>
   </system.web>
 </configuration>

知道如何解决这个问题吗?

谢谢

最佳答案

这里:

 <?xml version="1.0"?>
 <configuration>
   <system.web>
     <authentication mode="Forms">
        <forms loginUrl="Login.aspx" />
     </authentication>
     <authorization>
        <deny users="?" />
        <allow users="*"/>
     </authorization>
   </system.web>
 </configuration>

<deny users="?"/> 将拒绝匿名用户,而 <allow users="*"/>将允许所有经过身份验证的用户

引用:Setting authorization rules for a particular page or folder in web.config

关于asp.net - 如何拒绝匿名用户访问虚拟目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14806616/

相关文章:

java - 将 ASP.NET 应用程序迁移到 Java

c# - Regular Expressions-VAlidation String-REAL菜鸟问题:)

使用 Redis 的 ASP.Net session 状态

ASP.Net 表单例份验证 - 超时时转到登录页面

javascript - 我可以使用JavaScript删除ASP.NET身份验证cookie(.ASPXAUTH)吗?

asp.net - 在同一域上的 IIS 应用程序之间共享身份验证

IIS 7 - 虚拟目录重定向路径?

c# - ASPX/ASP.NET 中的空格控制

asp.net - 可以让 iisnode 下的 NodeJS 应用程序使用 ASP.NET FormsAuthentication 进行身份验证吗?

c# - 使用 IIS7 通过 c#/asp.net 网页访问虚拟目录(映射驱动器)