ASP.NET成员资格提供程序 - 避免在web.config中进行设置

时间:2011-08-18 17:12:05

标签: asp.net-mvc membership-provider

我有一个多租户应用程序,每个租户都有自己的数据库。 ASP.NET MVC3 Web应用程序将查看传入的用户名,并确定用于对用户进行身份验证的客户数据库。

如果我添加多个connectionStrings / Membership Providers,我可以让它工作,我可以让它工作。

我想要一种方法来删除对web.config的依赖。

有没有办法通过代码配置SqlMembershipProviders而不是将自己绑定到web.config文件?我想我可以使用我编写的自定义提供程序来完成它,但是希望看到在走这条路之前是否有办法。

1 个答案:

答案 0 :(得分:0)

我不再喜欢使用ASP.NET成员资格提供程序来处理以其他方式处理用户数据的MVC项目。相反,我使用表单身份验证并将密码哈希和salt合并为我的用户数据库中的列(类似于模式),然后手动设置表单身份验证cookie。

这实际上与默认的MVC项目脚手架设置没有什么不同。我只是不想将我的用户记录与ASP.NET成员资格记录关联起来,而且我没有使用相关的配置文件或角色功能。

如果你走这条路,那么你就如何处理多租户场景有一些选择,但我很怀疑你能够(或者想要)摆脱网络。完全配置。

对于某些多租户提示,请在此问题中查看我的答案:SaaS: one web app to one database VS. many web apps to many databases