gpt4 book ai didi

asp.net-mvc-3 - MVC3、 Entity Framework 、OpenID 和 MembershipProvider

转载 作者:行者123 更新时间:2023-12-01 23:34:19 24 4
gpt4 key购买 nike

我正在创建一个使用 EF Code First 方法的项目,现在我必须创建用户。我想实现 OpenID,因为它真的很酷而且很现代。有很多关于如何做到这一点的教程(还没有读过,但我当然会读)。

我现在已经很习惯 EF 和 MVC,但是所有关于成员、角色、提供者等的东西都是模糊的。有两件事我可以肯定:

  • 我想使用 OpenID 和
  • 我想用 EF Code First 管理用户表

所以,如果有人能给我一些提示,我将不胜感激:

  • 我必须实现 MembershipProvider 还是可以使用像这样的项目:codeplex
  • OpenID、EF 和 Membership 将如何相互配合?

我知道这是一个非常广泛的主题,但我只需要基本的提示,我需要知道从哪里开始。诸如“您可以使用 MembershipProvider 和 OpenID,但最好不要使用,因为……”之类的内容。

非常感谢任何帮助。

最佳答案

The requirement is the users to be able to log in with facebook, yahoo and others, as it is very annoying to create accounts everywhere.

我们正在研究的是为我们的最终用户提供多个身份验证选项,无论是您管理的用户名和密码组合、OpenId 提供商还是 OAuth供应商。

我发现最好的方法是明确这两个概念(成员资格和身份验证)。

I don't really care, how the user authenticates, just providing I can find their user information when they do.

拥有包含以下信息的用户表的简单方法:

Name
Email
Authentication Type
Authentication Id

例子:

Name        Email       AuthenticationType      AuthenticationId
---- ------- ------------------ ----------------
John a@b.com GoogleOpenId OpenIdClaimId
Ben c@d.com Internal ben
Dave e@f.com FacebookOAuth FacebookUserId

当用户进行身份验证时,我们可以使用身份验证方法和id作为条件来加载他们的用户信息。对于内部成员(member)提供者,我们可以使用他们的用户名,对于 OpenId,我们可以使用他们的声明 url,对于 OAuth,我们可以使用他们的提供者 ID(例如 Twitter ID)。

所以一定要使用 EF 来管理您的用户,但我会将成员资格提供程序视为另一种身份验证机制,在这种情况下您也可以使用标准的 SqlMembershipProvider。

我写了this post很久以前(在电子商务商店的背景下)可能会有一些用处。

关于asp.net-mvc-3 - MVC3、 Entity Framework 、OpenID 和 MembershipProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9647844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com