web.config常用配置研究

web.config 是asp.net的Web应用程序不可缺少的配置文件,本机.net framework目录下有个machine.config是全局的配置文件,在网站内也可能有多个别的配置文件,它们是继承的关系。

Web.config文件分为两个部分:配置节处理程序声明区域与配置节设置区域。

配置节处理程序声明区域就是声明对配置节设置区域进行了设置的地方应由哪个.net类来进行处理
它其中有可能有许多<sectionGroup></sectionGroup>,这是asp.net为了更好的进行管理而允许分组
配置节设置区域就是进行具体的配置
比较常见的有6个:
<compilation>
就是是否允许asp.net应用程序进行调试,由属性dubug进行控制
<customErrors>
配置asp.net应用程序报错时该如何处理,就是是跳到新页面还是报asp.net的错误
<trace>
配置asp.net跟综服务,主要用于程序测试以判断哪里出错,主要属性是enable,pageOutput
注意,在每个aspx页面顶部page指令中也可以进行配置,且页面配置的优先级高于web.config中的优先级
<authentication>
身份验证模式,主要属性是mode,一般值为forms,这就要配合FormsAuthentication类来共同完成
如果选择了form,就需要在子标签中<forms>中再进行配置,在子标签中常用的属性有loginUrl和defaulturl,前者是指明登陆页面,配合FormsAuthentication类中的RedirectToLoginPage方法使用,后者是指明默认跳转页面,配合FormsAuthentication类中的RedirectFromLoginPage方法使用。
使用RedirectToLoginPage方法会自动在跳转新页面时在URL中加上returnrul参数,使用GetRedirectUrl方法可以获取这个url地址,在使用RedirectFromLoginPage方法时,如果页面没有returnurl参数,就会跳转到defaulturl中指定的页面,否则会跳转到returnurl参数所指定的页面。
如果在web.config中没有指定loginUrl和defaulturl,系统自己还是会去找这两个页面,如果这两个页面事实上也不存在时,就会报异常了。

对于身份验证,其实还有一个标签:<Authorization>,它的作用是授权。具体怎么用,我也不是很清楚;它与<authentication>的区别,请参看下面的文章:Authentication vs_ Authorization 认证 vs_ 授权
<sessionState>
为当前应用程序配置会话状态,mode属性默认值是inproc,是在本地存储会话状态
<location>
因为web.config可以继承,这个配置可以锁定子目录,禁止子目录的web.config文件改写父类的web.config所进行的设置
path属性是指所影响的子目录路径,如果没有则是指所有子目录,allowOverride值为True/false
注意,如果没有path属性且allowOverride为false,则子目录无法改写任何父目录的web.config配置

 

参考的文章:

使用Forms Authentication实现用户注册、登录:

http://www.cnblogs.com/andersliu/archive/2008/01/01/forms-authentication-part-1.html

http://www.cnblogs.com/andersliu/archive/2008/01/01/forms-authentication-part-2.html

宁波职业技术学院 - Asp.Net Forms验证:

http://www.nbdtp.gov.cn/c/jsp/newsInfo.jsp?id=89

Authentication vs_ Authorization 认证 vs_ 授权

http://blog.csdn.net/imlogic/archive/2006/09/01/1154452.aspx

ASP.NET Forms Authentication所生成Cookie的安全性

http://www.cnblogs.com/smallmuda/archive/2008/09/12/359759.html

ASP.Net 2.0窗体身份验证机制详解
http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/200725/9346.html

Trace追踪(asp.net)
http://www.xyhhxx.com/display.aspx?subID=5417

ASP.NET的Trace

http://www.wangchao.net.cn/bbsdetail_57354.html

http://blog.csdn.net/chengliuyy/archive/2008/05/03/2370997.aspx

Asp.Net中的Trace跟踪消息功能简介

http://blog.csdn.net/Hello_World_wusu/archive/2009/03/08/3969553.aspx

 

你可能感兴趣的:(Web,.net,配置管理,asp.net,asp)