存储连接字符串信息的最佳方法是什么?
我不只是将db密码存储在NHib.config文件中。
答案 0 :(得分:4)
对密码和/或连接字符串使用加密,并将加密的密码/连接字符串存储在某种配置文件中。然后在解密之后使用我的答案将连接字符串值添加到NHibernate配置对象:
How to load application settings to NHibernate.Cfg.Configuration object?
像:
nHibernateConfiguration.SetProperty(
NHibernate.Cfg.Environment.ConnectionString,
Util.Decrypt(encryptedConnectionString));
答案 1 :(得分:2)
除非您决定使用Windows身份验证,否则一般情况下,如果要连接到使用sql登录的sql server数据库,则会输入密码。
<connectionStrings><add name="MyDbConn1"
connectionString="Server=MyServer;Database=MyDb;Trusted_Connection=Yes;"/>
<add name="MyDbConn2"
connectionString="Initial Catalog=MyDb;Data Source=MyServer;Integrated Security=SSPI;"/>
</connectionStrings>
您应该锁定sql server登录可以执行的权限/角色。
如果你必须使用sql server样式登录,你可以像这样加密密码..
Encrypting Connection String in web.config
或其他一些链接..
http://www.kodyaz.com/articles/Encrypting-in-web-configuration-file.aspx
http://www.codeproject.com/KB/cs/Configuration_File.aspx
编辑:
要使用web.config文件中的connectionstring元素的连接字符串,这会显示..
http://www.martinwilley.com/net/code/nhibernate/appconfig.html
可选地
使用fluentnhibernate。 :)