【发布时间】:2014-03-27 14:17:28
【问题描述】:
我有一个连接到多个数据库的 c# mvc.net 应用程序。
澄清一下,根据 url 的子域,应用程序将连接到特定的数据库。这是通过将 web.config 中的 defaultConnectionFactory 设置为 IDbConnectionFactory 的自定义实现来完成的。这一切都很好。
但是,我在使用 WebSecurity 时遇到了问题。 所有 WebSecurity 功能(例如 Login、CreateAccount 等)都基于在应用程序启动时初始化的数据库
protected void Application_Start()
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
//other initialisation stuf
根据 WebMatrix,InitializeDatabaseConnection 函数应在应用程序启动时调用一次,因此始终指向同一个数据库。
我想要的是,根据 httpRequest,所有 WebSecurity 工作都将在链接到子域的数据库上完成。
有人对我如何应对这种情况有任何建议吗? 我应该覆盖 WebSecurity 并根据 httpRequest 对其进行初始化吗? 或者我应该使用自定义的 SimpleMembership 提供程序做些什么?
提前致谢
【问题讨论】:
标签: c# asp.net-mvc webmatrix