【问题标题】:MVC 3 - switch between databases (same schema) on runtimeMVC 3 - 在运行时在数据库(相同模式)之间切换
【发布时间】:2011-11-16 23:45:40
【问题描述】:

我有 2 个 SQL Server 2008 R2 数据库 (SQLEXPRESS):database1 和 database2

当用户为 User1 时,ConnectionString (ADO.net) 应包含 databaseName1

当用户为 User2 时,ConnectionString (ADO.net) 应包含 databaseName2

为了操作数据,我对两者使用相同的 EF 模型

使用已编译的 MVC 3 应用程序,我想在运行时在数据库之间切换,

同样出于安全原因,我应该避免将连接字符串放在 web.config 中

如果有任何建议,请告知如何做到这一点

非常感谢。

【问题讨论】:

    标签: asp.net-mvc-3 sql-server-2008 entity-framework-4 ado.net connection-string


    【解决方案1】:

    为什么不能把连接字符串放在 web.config 中?将它放在那里比在未加密的源代码中更安全。在此处阅读有关如何加密配置的信息:http://chiragrdarji.wordpress.com/2008/08/11/how-to-encrypt-connection-string-in-webconfig/

    如果您担心这种安全性,您可能会遇到其他问题。

    【讨论】:

    • 在共享主机服务器上不会有源代码,项目要先编译好再托管,web.config是可访问的,因为它是托管的,我正在寻找一种方法来编译加密密钥应用程序
    • 你应该可以使用这个:dotnetcurry.com/ShowArticle.aspx?ID=185 这样你就可以在文件启动时加密文件。或者您可以像这样设置构建步骤:litemedia.info/encrypt-your-web-config-with-msbuild.
    • 谢谢,我会检查一下,运行时数据库切换呢?
    • 我建议创建自己的连接字符串提供程序,在创建数据库连接时用于选择连接字符串。这是一种解决方案。
    • if(someValue) { connection = new Connection(connectionStringX); } else { connection = new Connection(connectionStringY); }.
    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多