mysql连接字符串加密配置文件_关于IBatisNet的搭配文件中数据库连接字符串加密处理...

我们等闲在IBatisNet搭配文件 properties.config 加入数据库连接字符串。数据库连接字符串直接放在里面,未曾被加密,很不平安。万一我们把 properties.config 文件作为资源嵌入到过程集,好像可用处理平安问题,然而又揭示新的问题,那即便安排。因为用户安排时,是必需重新设置数据库地址,名目,用户名,密码等值的。

处理措施:

数据库连接字符串还是放在本来的过程的搭配文件中,例如 WebForms 的web.config中, WinForms的 App.config中,这么我们能够以利用企业库管教工具来加密这个搭配文件。

然后,穿越编程的措施加入数据库连接字符串。 DomSqlMapBuilderbuilder=newDomSqlMapBuilder();

NameValueCollectionprop=newNameValueCollection();

//DatabaseHelper.GetConnectionString()是用来从本来的搭配文件中获得数据库连接字符串

prop.Add("connectionString",DatabaseHelper.GetConnectionString());

builder.Properties=prop;

ISqlMappersqlMapper=builder.Configure();

由于我们自己穿越编程的措施供给了 ISqlMapper ,因而我们必需琢磨功能的问题.SqlMap是线程平安的,因而我们能够琢磨利用单件形式来供给 ISqlMapper .

全副供给 ISqlMapper 的类如下://-----------------------------------------------------------------------------------------

//模块编号http://www.gougirl.info/jiaru/622.html:

//文件名:SqlMapperHelper.cs

//描写:SqlMapperHelper类

//作者:ChenJie

//编写日期:2007-5-26

//Copyright2007

//-----------------------------------------------------------------------------------------

usingSystem;

usingIBatisNet.DataMapper;

usingIBatisNet.DataMapper.Configuration;

usingSystem.Collections.Specialized;

namespaceNovelty.CustomSystem.IBatisNet

...{

/**&ltye.onmall.org;summary>

///供给ISqlMapper对象,属于单件形式(SingletonPattern)

///

publicclassSqlMapperHelper

...{

私有变量#region私有变量

/**

///ISqlMapper实例

///

privateISqlMapper_sqlMapper;

#endregion

构造函数#region构造函数

/**

///构造函数

///

SqlMapperHelper()

...{

CreateSqlMapper();

}

#endregion

嵌套类#region嵌套类

classNested

...{

staticNested()

...{

}

internalstaticreadonlySqlMapperHelperinstance=newSqlMapperHelper();

}

#endregion

属性#region属性

/**

///单一实例

///

publicstaticSqlMapperHelperInstance

...{

get

...{

returnNested.instance;

}

}

#endregion

公有措施#region公有措施

/**

///刷新ISqlMapper对象

///起因http://www.cnword.info/lianxiwomen/653.html:当数据库连接揭示改变,必需刷新该对象

///

publicvoidRefreshSqlMapper()

...{

CreateSqlMapper();

}

#endregion

私有措施#region私有措施

/**

///创立ISqlMapper对象

///

privatevoidCreateSqlMapper()

...{

//-----(1)

//DomSqlMapBuilderbuilder=newDomSqlMapBuilder();

//ISqlMapper_sqlMapper=builder.Configure("SqlMap.config");

//-----(2)

//SqlMap是线程平安的

//Mapper.Get()措施和Mapper.Instance()措施调用默认的SqlMap.config搭配文件来创立SqlMapper

//ISqlMappersm=Mapper.Get();

//以下注释内容摘自一个网友的blog:om/shanyou/articles/388602.html。

//与利用DomSqlMapBuilder类的差异是,Mapper.Get()无须要指定搭配文件的名目,并且利用Mapper.Get()归来SqlMapper后万一照射的XML未曾讹谬的话,会将该XML文件缓存到内存,

//下次调用的时候就无须要在察看XML文件,直到SqlMap.config被改换,这么将大大的长进了过程的功能,而利用DomSqlMapBuilder发生的SqlMapper每次都要先分析照射的XML文件,功能将大大的减退

www.xiaochugao.org>

DomSqlMapBuilderbuilder=newDomSqlMapBuilder();

NameValueCollectionprop=newNameValueCollection();

prop.Add("connectionString",DatabaseHelper.GetConnectionString());

builder.Properties=prop;

_sqlMapper=builder.Configure();

}

#endregion

对外属性#region对外属性

/**

///ISqlMapper实例

///

publicISqlMapperSqlMapper

...{

get

...{

return_sqlMapper;

}

}

#endregion

}

}

固然题目很短一读打听,但它确乎是一个混杂的问题,因为它是“哥德***猜想”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值