【发布时间】:2011-11-23 20:06:24
【问题描述】:
我们有一个应用程序在一个数据库上运行,但有多个域指向它,并且根据域确定我们加载哪个 css 以及显示哪些客户数据。一切正常,除了我想根据请求更改 SqlMembership 提供程序的应用程序名称,具体取决于它是哪个客户,以确保成员资格提供程序中的用户名/电子邮件之间没有冲突。
因此,如果域是 abc123.com,我想仅为该请求更改 ApplicationName。不幸的是,每个应用程序的会员资格都是静态的,所以我的问题是我该怎么做。理想情况下,我只想在 web.config 中的基本控制器上实例化一个 SqlMembershipProvider、RoleProvider、ProfileProvider,并在请求开始时仅更改应用程序名称,而不影响任何其他请求。
任何建议将不胜感激。
非常感谢
编辑:
好的,此时我正在尝试这个,我有一个基本控制器,并且在 OnActionExecuting 的覆盖范围内我正在构建一个 SqlMembershipProvider 并使用包含我需要的所有属性的 NameValueCollection 调用 Initialize 并根据客户(其中由 url 知道)。
有人发现这有什么问题吗?
编辑: 不,这也不起作用,它仍在尝试使用某些方法从 web.config 加载,因此 ValidateUser 可以工作,但 CreateUser 抛出异常,因为它在 web.config 中找不到条目。
【问题讨论】:
标签: c# asp.net-mvc-3 sql-server-2008 asp.net-membership