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.发布网站(预编译)

posted @ 2012-08-17 23:11  Mr.邹  阅读(267)  评论(0编辑  收藏  举报