c# – AspNet Membership – 集中登录

现在我们有几个数据库,每个数据库都有自己的aspnet成员资格表.我们希望将所有成员资格集中到一个数据库.例如,一个主登录页面,他们将指定数据库,用户名和密码.然后我们将检查集中式数据库并根据它们在文本框中输入的数据库名称进行身份验证并将其重定向到他们的帐户.

这样做的最佳方法是什么?在不同的数据库中可能存在多个相同的用户名,这是我的挑战.

最佳答案 ASP.Net Membership有Applications表.只要您为不同的网站提供不同的应用程序名称,就可以将它们合并到一个大型数据库中;重复用户ID(存储为uniqueid)的可能性非常低.

用户登录时,您需要以下3个字段 –

>应用程序(可以是DropDownLis)
>用户名
>密码

创建自己的验证

您无法使用自定义成员资格提供程序来验证仅接受用户名和密码的用户.

// ValidateUser method doesn't take any additional parameter
public bool ValidateUser(string username, string password)

因此,您需要实现自己的验证方法来验证Merged Database中的用户.

注意

如果您要重定向到不同的网站,请记下表单身份验证的限制.例如,它无法将身份验证cookie从www.one.com转移到www.two.com

点赞