ASP.NET配置文件纵横谈(二)
下面我们就来看看<location/>节点。我们常常在配置文件设置这个节点来对URL访问进行授权 。我们可以在一个ASP.NET网站(如:c:\inetpub\wwwroot\Demo\web.config的web.config中添加下面的 配置:
<location/>元素被解释为一个新的虚拟的配置文件,也就是说我们其实也可以把 <location/>元素中的配置拿出来,放在一个单独的web.config中,就像我们在网站的一个文件夹 中加入一个web.config一样。所以在<location/>元素中要申明<system.web>,而且不能直接 就把<authorization />元素放在<location/>下。 在网站中,经常要对很多的页面进行授权访问,所以我们也常常可以把那些页面放在一个文件夹中, 然后在文件夹中放一个web.config。相较于前者,在网站根目录中用<location/>元素来进行URL授 权更加的好些,因为可以在一个文件中对所有的文件进行授权和对授权进行修改。而且如果进行URL授权 的文件夹很多,那么我看可能在修改的时候遗漏某处,而导致运行失败。 在<location/>中,有一个属性就是path,用来设置进行URL授权的文件,或者文件夹。而且我们 还path属性的配置也很灵活的,可以设置path的值来对某个文件设置url授权访问,如 path="default.aspx",还可以对文件夹进行授权访问,如"subfolder"(注:subfolder是网站中的某个文 件夹),还可以将之前的两者结合,如"subfolder/default.aspx","subfolderA/subfolderB".如果我们在 IIS虚拟目录下放置一个web.config,我们还可以设置对某个网站的授权访问,如"Default WebDite"。 所以在<location/>中用path元素可以对要授权的文件,文件夹进行集中的控制。 下面来看看allowoverride属性 很多的节点元素都有这个属性,这个属性可以防止下一级的配置文件中上一级的配置文件的某个元素 进行重写(关于配置文件的层级关系见第一篇,从上到下基本是:machine.config--web.config)。对于 <location/>,如果在machine.config中配置下面的:
那么如果你在你的网站的web.config中再去重新定义<location/>就会报错。 与lock有关的属性的使用 主要包含lockAttributes,lockElements,lockAllAttributesExcept,lockAllElementsExcept,充字面 意思就很容易理解它们的作用。 首先来看看lockAttributes。我们可以在很高层级来定义某个元素的lockAttributes或者 lockAllAttributesExcept,如,我们可以在machine.config中设置某个元素的属性,使得下一级的 web.config不能重写锁定的属性。例如,我们知道<membership />有很多的属性: defaultProvider, userIsOnlineTimeWindow,hashAlgorithmType等。可能我们希望所有的程序提供者 (providers)都配置为hashAlgorithmType=SHA256哈希加密,因为安全的需要。 我们一般在我们的网站中的 web.config中这样配置的:
我们可能认为SHA1加密的安全不够,我们就在machine.config中配置:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |