我有一个多租户应用程序,每个租户都有自己的数据库。 ASP.NET MVC3 Web应用程序将查看传入的用户名,并确定用于对用户进行身份验证的客户数据库。
如果我添加多个connectionStrings / Membership Providers,我可以让它工作,我可以让它工作。
我想要一种方法来删除对web.config的依赖。
有没有办法通过代码配置SqlMembershipProviders而不是将自己绑定到web.config文件?我想我可以使用我编写的自定义提供程序来完成它,但是希望看到在走这条路之前是否有办法。
答案 0 :(得分:0)
我不再喜欢使用ASP.NET成员资格提供程序来处理以其他方式处理用户数据的MVC项目。相反,我使用表单身份验证并将密码哈希和salt合并为我的用户数据库中的列(类似于模式),然后手动设置表单身份验证cookie。
这实际上与默认的MVC项目脚手架设置没有什么不同。我只是不想将我的用户记录与ASP.NET成员资格记录关联起来,而且我没有使用相关的配置文件或角色功能。
如果你走这条路,那么你就如何处理多租户场景有一些选择,但我很怀疑你能够(或者想要)摆脱网络。完全配置。
对于某些多租户提示,请在此问题中查看我的答案:SaaS: one web app to one database VS. many web apps to many databases