保护ASP.NET Web目录中的文件夹

时间:2012-09-07 13:25:02

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

我在网站上工作了很长时间并且工作正常,最近报道了一个问题,我需要通过这个问题。

在我的网站中有一个名为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>

2 个答案:

答案 0 :(得分:5)

使用web.config中的<location />标记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

答案 1 :(得分:0)

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

此示例使用roles来设计profil。

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

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