接上两篇文章,ASP.NET 安全认证(一),(二)(这两篇是转载寒羽枫的博客http://blog.csdn.net/cityhunter172/archive/2005/11/13/528463.aspx)
看了之后,再写点自己的做法(属于初学级别)
其实<location> 并不只对文件夹管用,对页面也很管用,如果有页面不需要验证(比如说default.aspx),直接在<location>节点下这样写:
<location path="Home.aspx">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
.............
(中间很可以加上很多权限控制的页面)
..............
</location>
达到的效果是一样的。以下是贴MSDN上的内容。
<location path="path"
allowOverride="true|false"/>
可选属性
属性选项说明
path 应用指定配置设置的资源。使用缺少路径属性的 <location> 将配置设置应用于当前目录及其所有子目 录。如果 <location> 不使用 path 属性,并且 allowOverride 被指定为 false,则不能通过子目录中的 Web.config 文件更改配置设置。
allowOverride 指定配置设置是否可以被子目录中的 Web.config 文件的配置设置重写。
true指定配置设置可以被重写。默认值为 true。
false指定配置设置不可以被重写。
示例
以下示例允许匿名用户访问 Logon.aspx 页。
<configuration>
<location path="Logon.aspx">
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>
以下示例仅将指定页的上载文件大小限制设置为 128KB。
<configuration>
<location path="UploadPage.aspx">
<httpRuntime maxRequestLength="128"/>
</location>
</configuration>
以下示例防止配置设置被子目录中的 Web.config 文件更改。
<configuration>
<location allowOverride="false"/>
</configuration>