【问题标题】:Custom Membership provider with oAuth具有 oAuth 的自定义成员资格提供程序
【发布时间】:2013-03-10 11:37:54
【问题描述】:

这是我第一次接触 MVC,所以请谅解。首先:

1) 如果我将使用 sql 数据库实现自定义会员提供程序,使用我的方法通过电子邮件激活用户,将用户放入数据库等(只有一个表 - tableUsers),this solution about oAuth and Facebook login will works properly?
老实说,我一点都不清楚。

2) 什么解决方案更好。我的自定义会员提供者,还是使用默认的?
我想发送我的自定义激活电子邮件,然后激活帐户。稍后,我想在 userProfile 表中添加新列 - “ID 类型”和“isActivated”。
我将在单独的表中存储有关用户的其他信息(电话、网站、关于我、爱好等) - 我将通过 IDuser 从 userProfile 获取这些数据。
更重要的是,我想通过 Facebook 使用登录方法或推特。我在 asp.net 网站上找到了解决方案,如何使用 Oauth 来解决。



我必须选择什么解决方案?
问候

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-4 membership-provider


    【解决方案1】:

    什么解决方案更好。我的自定义会员提供程序,还是使用默认?

    当您想在数据库中存储额外的用户信息时,您需要创建自己的自定义 Membership Provider,因为默认的 Membership Provider 缺乏这种灵活性。此外,使用默认会员资格 Provider ,您将无法使用激活电子邮件验证您的用户。您必须对其进行自定义。

    如何用 Oauth 做到这一点?

    VS 2012 中 MVC4 提供的默认 Membership Provider 能够使用 Facebook 和 Twitter 进行登录,您可以添加更多类似 LinkedIn。但是,由于您需要创建自定义成员资格提供程序来存储其他信息,因此您可以为此使用 DotNetOpenAuth 库。它与默认成员资格提供程序使用的相同。您可以通过Nuget添加。

    【讨论】:

    • 感谢您的回复。如果我要实现自定义会员提供程序,是否必须使用登录方法更改某些内容?以及如何使用自定义 m.provider 获取当前用户?
    • @whoah 创建您的自定义会员资格提供程序,覆盖默认会员资格提供程序中所需的方法,这样您也可以使用默认会员资格方法。否则,您也可以为您的自定义提供程序实现您自己的GetUser() 方法。您可以找到以下对创建自定义会员提供程序有用的链接。 msdn.microsoft.com/en-us/library/ms366730.aspx
    • 好的,这样我就不用考虑登录方法了?或者我必须改变一些东西?登录方法如何知道密码和登录名在哪里,以及密码是如何插入数据库的?
    • @whoah 您将仅覆盖与注册相关的方法...因此所有其他方法都将相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多