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 → 观看测试效果