NBearV3教程——实体配置文件加密篇


版本
1.0 [2006-11-18]

简介
本教程介绍NBearV3中的实体配置文件的加密支持。

目标
通过本教程,读者应能够全面掌握加密实体配置文件和如何结合使用ASP.NET的配置节加密功能,实现部署环境关联的实体配置加密。

代码
本教程不包含任何演示代码。

时间
<10分钟。

正文
1 配置及启用实体配置文件加密
要启用实体配置文件加密,需要如下设置entityConfig配置节:


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
    <section name="entityConfig" type="NBear.Common.EntityConfigurationSection, NBear.Common" />
 </configSections>
 <entityConfig encrpyt="false" key="aslkjkljlsajsuaggasfklrjuisdhaie">
    <includes>
      <add key="Sample" value="C:\Teddy\NBearV3\src\NBear.Test.CaseTests\EntityConfig.xml" />
    </includes>
 </entityConfig>
 <connectionStrings>
    <add name="CaseTests" connectionString="Server=(local);Database=CaseTests;Uid=sa;Pwd=sa" providerName="NBear.Data.SqlServer.SqlDbProvider"/>
 </connectionStrings>
</configuration>

注意以上代码中,entityConfig配置节加粗的两个属性:encrypt和key。

encrypt=true代表,启用实体配置文件加密。

key则指定了一个用于加密/解密实体配置文件的key。

如果启用了实体配置文件加密功能,则当前应用程序,将只能识别经过加密的实体配置文件。

2加密/解密实体配置文件
要加密/解密实体配置文件,需要使用dist目录中的NBear.Tools.ConfigurationEncrypter.exe工具。这是一个Windows Form程序,它的使用非常简单,就是载入一个配置文件,指定加密key,并加密/解密这个配置文件。

3 使用ASP.NET的配置节加密工具实现部署环境关联的配置节加密
ASP.NET提供了config文件的加密功能,例如,使用下面的命令行语句可以将IIS中的指定应用程序的Web.config的entityConfig配置节加密:

aspnet_regiis -pe "entityConfig" -app "/应用程序的名字"

下面的语句则是对应的解密命令:

aspnet_regiis –pd "entityConfig" -app "/应用程序的名字"

注1:您可以在命令行环境执行aspnet_regiis /help查看aspnet_regiis的更多选项。aspnet_regiis.exe工具一般在[windir]\ Microsoft.NET\Framework\v2.0.50727\目录下。

注2:您可能需要将dist\NBear.Common.dll文件复制到aspnet_regiis.exe所在的目录,否则,加密/解密配置节的过程中可能会报不能加载NBear.Common.dll错误。

您可能会问,使用如上命令加密Web应用程序的配置文件有什么作用呢?

一旦使用aspnet_regiis加密配置节,则该配置文件中被加密的配置节的内容会使用加密后的数据代替,这些加密数据,只在执行aspnet_regiis的这台服务器上能够被识别。也就是说,即使完整复制该应用程序到另一台服务器,也不能运行该程序,因为配置文件将不能正确识别。aspnet_regiis同时包含了更多其它加密选项,可以更灵活的控制配置节的加密过程。不过,这就是 ASP.NET的SDK文档讨论的范畴了,这里仅仅给出常用的方法,不做更多讨论。

//正文结束

//本文结束


 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3