【问题标题】:Securing a folder in ASP.NET web directory保护 ASP.NET Web 目录中的文件夹
【发布时间】:2012-09-07 21:45:44
【问题描述】:

我在一个网站上工作了很长时间,它一直运行良好,最近报告了一个问题,我需要解决这个问题。

在我的站点中有一个名为 repository 的文件夹,其中包含诸如 word 和 PDF 文档之类的文件,理想情况下,只有登录的用户才可以下载它们,但现在已经观察到任何未登录该网站的人,甚至可以也下载它们:(

有没有办法在不将文件夹移出网络目录的情况下处理它?就像使该文件夹受密码保护并且只有我的页面可以访问内容一样,任何代码示例或链接都将非常有用。

我的 Web 应用程序使用 C# 的 ASP.NET 2.0,服务器使用 IIS 6.0。

提前致谢

编辑:

我的 Web.Config 中有这些标签:

<authentication mode="Forms">
  <forms slidingExpiration="true" loginUrl="Login.aspx" defaultUrl="HomePage.aspx" name=".ASPXMAIN" timeout="30">
  </forms>
</authentication>
<authorization>
  <deny users="?" />
</authorization>

【问题讨论】:

  • 我想知道你们投票这个问题,没有给出/评论任何行动的理由,以便作者可以提高自己。
  • 我赞成这个问题,我认为这是一个有用的问题

标签: asp.net security password-protection web-folders


【解决方案1】:

在 web.config 中使用 &lt;location /&gt; 标签,http://msdn.microsoft.com/en-us/library/b6x6shw7(v=vs.71).aspx

  <location path="content">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

有关 msdn 文档的更多链接,请参阅此答案:https://stackoverflow.com/a/4280257/426894

【讨论】:

  • 非常感谢您的回答,将实施并检查,如果我发现任何问题会回复您。
  • 我已经在我的问题中添加了一个编辑部分,其中包含我的 web.config 中的标签,不应该 必须阻止未经授权的用户访问该文件夹,否则我没有正确理解它?
  • @ImranBalouch 我刚刚发布了一些简单的示例用法,并不是您所需要的。主要是因为我不知道你想要什么样的角色。查看我链接的答案,它包含所有内容的 msdn 文档,因此您可以根据需要完全自定义配置。
【解决方案2】:

您可以在 Web.config 中尝试使用此配置(位置允许您定义路径)

此示例使用roles 来设计配置文件。

也可以使用users 来设计用户。

<location path="~/MembersOnly" > 
  <system.web> 
    <authorization> 
      <allow roles="Members"/> 
      <deny users="?" /> 
    </authorization> 
  </system.web> 
</location> 

【讨论】:

    猜你喜欢
    • 2012-10-03
    • 1970-01-01
    • 2012-01-31
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多