IBatisNet -- 保护你的配置文件及映射文件信息

 通常情况下我们在使用IBatisNet的时候,配置文件和映射文件都是暴露在外的,如果能进入到服务器,那么你的程序的操作数据库的SQL语句,数据库连接字符串等信息都将很轻松的被看到,这样是很危险的。然而IBatisnet自身也没有提供配置文件直接加密的方法,但我们可以用变通的方式来尽可能的保护这些文件中的信息。IBatisnet的映射文件等可以指定为内嵌的资源,利用这个我们可以把一些敏感信息写到另外一个配置文件中,并设置这个配置文件的Build Action为embedded Resource。具体操作如下:

一、假设我们映射文件的路径为 ~@Maps/,我们将所有的映射文件都设置为“内嵌的资源”,SqlMap.config文件直接在根目录下。

二、建立一个properties.config文件,添加一些敏感信息(即不能直接让别人看到的信息)。如下:
<? xml version="1.0" encoding="utf-8"  ?>
< settings >
  
<!--    User application and configured property settings go here. -->
  
<!--    Example: <add key="settingName" value="settingValue"/>  -->
  
< add  key ="provider"  value ="sqlServer1.1"   />
  
< add 
        
key ="connectionString"  
        value
="server=.;database=DocumentSystem;uid=sa;pwd="   />
  
< add  key ="root"  value ="TVSystem.Web._Maps."   />
  
< add  key ="assembly"  value ="TVSystem.Web"   />
</ settings >

三、SqlMap.config文件的配置
<? xml version="1.0" encoding="utf-8" ?>
< sqlMapConfig 
  
xmlns ="http://ibatis.apache.org/dataMapper"  
  xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" >

  
< properties  embedded ="TVSystem.Web.properties.config"   />
  
< settings >
        
< setting  useStatementNamespaces ="false" />
    
</ settings >

  
< providers  resource ="providers.config" />

  
<!--  Database connection information  -->
  
< database >
    
< provider  name ="${provider}" />
    
< dataSource  name ="DocumentSystem"  connectionString ="${connectionString}" />
  
</ database >

    
< sqlMaps >
    
< sqlMap  embedded ="${root}Department.xml,${assembly}"   />
    
< sqlMap  embedded ="${root}Stream.xml,${assembly}"   />
    
< sqlMap  embedded ="${root}Employees.xml,${assembly}"   />
    
< sqlMap  embedded ="${root}Relations.xml,${assembly}"   />
  
</ sqlMaps >
    
</ sqlMapConfig >


这样发布后的代码中,只能看到SqlMap.config中的内容,映射文件和数据库连接字符串等信息就被编译到DLL中去了。  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值