Asp.net中配置文件(8)
web.config配置元素
Web.config应用
1.设置数据库连接字符串使用。
首先,需要先引用程序集。再在需要连接的字符串类型引用该集。
在<configuration>中的<connectionStrings>标签中<add>中添加相关的属性。
数据库用户和密码是明文方式保存不安全。
<1>对连接字符串进行加密操作。
对数据库连接字符串加密的命令---aspnet_regiis.exe(可以说是对配置节加密)
例如:
打开菜单vs2008—>vs Toos—>vs2008 命令提示,输入如下
<2>对连接字符串解密
对数据库连接字符串解密的命令
需要注意的是:
.加密和解密在同一台计算机上使用。
.中文路径问题(可以不支持)。
2.自定义错误配置节。
一般程序抛出异常,我们很期望看到错误信息,一遍更改错误,但是你不想吃让客户看到信息,因为有些错误会暴露程序的漏洞,会被别人利用,因此我们可以在web.config中编写子定义错误。(注意<customErrors>标签是写在<system.web>标签内)
比如:
<?xml version="1.0"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="FCKeditor:BasePath" value="~/fckeditor/" /> <add key="test" value="test"/> </appSettings> <connectionStrings> <add name="BookShopConn" connectionString="Data Source=.;Initial Catalog=PB_BookShopDemo;uid=sa;pwd=bdqn" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <compilation targetFramework="4.0"> <assemblies> <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> </assemblies> </compilation> <customErrors defaultRedirect="~/GenericErrorPage.htm" mode="On"> <error statusCode="404" redirect="FileNotFound.htm" /><!--statusCode表示http状态码,404为未找到该页面--> <error statusCode="403" redirect="403.htm" /><!--为已禁止访问--> <error statusCode="500" redirect="500.html" /><!--为内部服务器错误--> </customErrors> <authentication mode="Forms"> <forms name="AdminUsers" loginUrl="~/admin/adminlogin.aspx" timeout="60"></forms> </authentication> </system.web> </configuration>
3.调试和运行时配置。
enable="false",则可以理解改为该站点已经关闭了。
4.身份验证和授权。
之前我们的登录页是用session来保存的登录信息,但是这有一个问题,后台的每一个页面都要编写代码来验证用户是否登录,其实在ADO.NET中完全不用怎么复杂,它有一套基于用户和角色的验证体系。
身份验证的方式,这里主要用到Forms,它主要是用Cookie来维护页面间的状态。
首先需要设置根目录下的web.config如图:
仅仅设计身份验证你可能看不到任何效果,因为在默认情况下站点是允许匿名访问的。
因此还需要设计相关后台的访问权限(如;设计Admin根目录下的Web.config)
Allow,允许 deny,拒绝 特殊符号:”*”代表所有用户,”?”代表匿名用户。
需要注意的是:授权中配置的顺序非常重要,系统总是按照从前向后逐条匹配的方式,执行最先的匹配者。
使用表单验证时,需要对表单和验证做一些处理,登陆成功时,我们需要在客户端创建有效的cookie信息,可称之为创建身份验证,如图:
该票证一旦创建成功,在Admin中访问任何网页也都是合法的了,无需跳转到登陆页面。
当用户退出时,我们可用以下代码,以实现票证的安全(如图)
5.配置管理工具(大大方便了我们对配置文件的修改)
<1>.Web站点管理工具
界面友好,可直接操作数据库,用户,角色管理功能强。
<2>.MMC (Microsoft管理控制台)ASP.NET插件
界面一般,不操作数据库,用户名,连接等需手工录入,不进入数据库,提供了非常完整的web.config编辑功能。
部署
为什么要部署? 1.隐藏源代码。2优化程序运行效果
部署前的准备
1.关闭调试,调试符号会降低新能 2.修改为Release(发行版)方式。
部署的方式有三种
1.XCopy方式发布站点,最简单方便的方式
2.复制网站(Copy Web Site),类似ftp上传。
3.发布网站(预编译)