Web.config 中的 节点设置灵活运用表单认证中的 deny 与 allow 及保护 .htm 等文件

Web.config 中的 <authorization> 节点设置

注解:

  • “allow”允许的意思;“*”表示所有用户;
  • “deny” 拒绝的意思;“?”表示匿名用户;

<configuration>

<system.web>

<authorization><allow users="*"/></authorization>

</system.web>

</configuration>

 

根据“覆盖”原则

<authorization><allow users="*"/></authorization> 等价于<authorization><deny users="?"/></authorization>

可以设置某个目录的访问权限

在某个需要设置权限的目录下放置一个web.config内容大概如下

<?xml version="1.0" encoding="utf-8"?>

<configuration>

<system.web>

<!--原来的站点下的配置

</system.web>

<location path ="ManageSys">

    <system.web>

             <authorization>

                  <allow users="Admin"/>

                   <deny users="*"/>

                </authorization>

   </system.web>

</location>

</configuration>

 

 

  • <location> 节点的位置是在 <configuration> 的一个子节点,它与原有的 <system.web> 属于并列关系
  • <location> 节点需要制定具体控制的目录

额外的保护(对 .htm,.js等文件的保护)

第二部分就要结束了,现在时间已是凌晨 4 点50分,我容易嘛我。认证的目的就是为了防止他人非法浏览页面,或未经许可使用某些功能。当然,世上没有绝对的安全,如今 MD5 加密都被我们国人给破解了,就是最好的例证。

细心的人可能早就发现 ASP.NET 的安全认证只针对 .aspx、.ascx …… 等 ASP.NET 文件起作用,而对普通页面与文件却“视而不见”,如 .htm、.js 、.jpg 等。通过以下步骤你就可以保护你想保护的文件类型。

1、 打开 Internet 信息服务(IIS)管理器 → 右击本项目虚拟 → 属性,如下图

2、 点击按钮“配置”,出现如下对话框:

3、 双击 .aspx 的应用程序扩展 → 查看对话框内容,如下图:

4、 复制“可执行文件”的全路径名称后 → 点击“取消”返回上一层对话框 → 点击按钮“添加”

5、 粘贴刚才复制的内容(我的系统装在 D 盘,所以内容为 D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll ) → 填写后缀名为 .htm → 填写动作限制为“GET,HEAD,POST,DEBUG”(为方便省事你可选全部)

6、 最后点击“确定” → 往项目中添加 HtmlPage1.htm → 在 IE 浏览器的地址栏直接输入http://localhost/FormTest/HtmlPage1.htm → 观看测试效果

原文地址:https://www.cnblogs.com/dwfbenben/p/2378831.html