我的配置有連接字符串與加密的密碼。代碼使用實體框架System.Data.Entity.DbContext
,它保存加密的密碼。 如何自定義System.Data.Entity.DbContext.Database.Connection.ConnectionString
以使用解密的密碼。需要自定義解密密碼爲System.Data.Entity.DbContext
下面的代碼DrcMaster被拋出埃羅:登錄失敗(因爲它試圖使用加密密碼)
using System;
using System.Data.Entity;
using System.Configuration;
namespace DrcAuthentication.Database.User {
public class UserContext : DbContext
{
public UserContext()
{
System.Data.SqlClient.SqlConnectionStringBuilder csb = new System.Data.SqlClient.SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["UserContext"].ConnectionString.ToString());
csb.Password = EncryptionUtils.Decrypt(csb.Password);
string myCs = csb.ToString();
Database.Connection.ConnectionString = myCs;
//db.Database.Connection.ConnectionString = myCs;
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}
public DbSet<DrcAuthentication.DrcMaster> DrcMasters { get; set; }
public DbSet<DrcAuthentication.AuthenticatedUser> Users { get; set; }
public DbSet<DrcAuthentication.UserRole> UserRoles { get; set; }
//public IDbSet<SuperSecured> SuperSecured { get; set; }
}
}
解密後,'myCs'是否包含有效的連接字符串? –