多个会员提供者,一个用户
Posted
技术标签:
【中文标题】多个会员提供者,一个用户【英文标题】:Multiple membership providers, one user 【发布时间】:2012-10-13 14:00:59 【问题描述】:我正在学习 ASP.NET MVC 3 并尝试创建一个 Web 应用程序,用户可以在其中上传一些数据并对其进行管理。
这是我的问题: 我需要将用户与我的数据库中的数据相关联,因此我需要用户拥有唯一的 ID。但是,用户需要能够从多个成员资格提供程序(sql 和 ldap)登录。所以我不能假设他们的 ProviderUserKey 是唯一的,也不能假设它是什么类型。
我需要某种方法将不同会员提供者提供的用户合并到一个用户类中,该用户类具有可在我的数据库中使用的唯一用户 ID。谁能给我一些关于如何做到这一点的指示?
我是 ASP.NET MVC 3 框架的新手,所以我不知道这样的东西是否已经存在。
E:我希望业务逻辑忽略用户的登录方式。这无关紧要。
【问题讨论】:
【参考方案1】:他们的 ldap 电子邮件地址 可以提供一个很好的唯一标识符,我曾在类似的情况下使用过。
【讨论】:
在这种情况下你的业务逻辑不需要知道他们是如何登录的吗? 如果您允许他们通过任一提供商进行身份验证,不明白为什么。重要的是它们已经过验证,令您满意。 @TheTeaMan 无论如何,我已经非常满意地使用了它。如果您是面向公众的网站(例如 SO),您只需要担心拥有多个电子邮件地址的用户。只允许一个电子邮件地址似乎很好,尤其是在我的情况下,在你的情况下也是如此。顺便说一句,为了进行投票,习惯上也会对您提供的有用答案进行投票;)可能有点厚颜无耻,但看到您对 SO(***)相对较新,所以不要觉得太羞耻。 我记得 SO 会自动投票赞成接受的答案(并反对垃圾邮件问题/答案)......很奇怪。投了赞成票以上是关于多个会员提供者,一个用户的主要内容,如果未能解决你的问题,请参考以下文章