web.config中配置文件夹访问权限

本文介绍如何在ASP.NET应用中仅允许特定账户访问指定页面及文件夹,并提供web.config配置示例。同时讨论了解决IIS环境下文件夹权限问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做的一个网站中需要对单独某个页面增加保护,只允许某个账户访问,因为其他页面没有访问限制,所以没有使用数据库保存账户的必要,一个解决办法就是在web.config文件中保存这个账户。

下面是网站结构:

我需要对TableView.aspx页面设置访问权限,而TableView.aspx需要查看UploadImage文件夹中图片,所以UploadImage文件夹也要设置访问权限,下面是web.config中相关内容 

<configuration>
  .
  .
  .
  
<system.web>
    
<authentication mode="Forms">
      
<forms defaultUrl="TableView.aspx" loginUrl="Login.aspx" name="TableViewAuth" path="/" protection="All" timeout="60">
        
<credentials passwordFormat="Clear">
          
<user name="admin" password="admin"/>
        
</credentials>
      
</forms>
    
</authentication>
  
</system.web>

  
<location path="TableView.aspx">
    
<system.web>
      
<authorization>
        
<deny users="?"/>
        
<allow users="admin"/>
      
</authorization>
    
</system.web>
  
</location>

  
<location path="UploadImage">
    
<system.web>
      
<authorization>
        
<deny users="?"/>
        
<allow users="admin"/>
      
</authorization>
    
</system.web>
  
</location>
  .
  .
  .
</configuration>

 

<authentication>子节‘allowDefinition='MachineToApplication’,那么就不能在应用程序下子目录中添加<authentication>节点,所以在location节点下若添加<authentication>就会发生错误。子目录中验证继承自应用程序级验证。

 

后台登录验证代码:

ExpandedBlockStart.gif代码
if (FormsAuthentication.Authenticate(userName, pwd))
   {
       FormsAuthentication.RedirectFromLoginPage(
"admin"true);            
   }
else
    Response.Write(
"<script>alert('User Name or Password is wrong!')</script>");

 

退出代码:

FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();

 

 

最后,在web.config中如此配置,可以保护对TableView.aspx的访问。但是UploadImage文件夹中图片在asp.net development server中受到访问权限保护,而在IIS(5.1)中查看时,权限保护不起作用.(查看图片是直接输入图片的url)。

找到原因了,UploadImage文件夹中图片的后缀是.jpg,.png等,在iis中的应用程序映射中没有对应的扩展名,所以web.config中权限设置不能发挥作用。在应用程序映射列表中添加相应扩展名和处理程序后就可以对文件夹中图片保护了。

转载于:https://www.cnblogs.com/hiearth/archive/2009/12/08/1619662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值