如何构建一个既有OpenID又有本地用户的MVC站点?

时间:2012-06-07 17:26:08

标签: asp.net-mvc asp.net-membership openid dotnetopenauth

我们有一个MVC网站将使用DotNetOpenAuth通过OpenID登录用户,我发现这个really helpful templateother more simple examples可以帮助我开始使用那个结束。但是,我还没有完全弄清楚如何为我的用户提供一种方法来创建一个帐户,如果他们不想使用OpenID。

我可以在这里看到两个选项,编写一些自定义代码,允许OpenID捎带在标准成员资格提供程序上。或者,让终端站点仅通过DotNetOpenAuth使用OpenID并为我的用户构建一个身份提供程序以进行注册。这样,该网站只会看到OpenID用户,并且不会知道差异。

这些是我唯一的选择吗?我无法找到任何关于站在我自己的身份提供商身上的东西,只有依赖方模板。我认为只需将OpenID放在默认会员提供商之上就可以了,但是我觉得我做错了,因为我应该能够站出一个身份提供者。

那么,在我的情况下,通过DotNetOpenAuth通过本地帐户创建和OpenID支持会员资格的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

设置您自己的身份提供商,以便您的网站只能说OAuth,这当然是一种选择,但却是一个非常重要的选择。我不建议您设置身份提供商,除非您打算让客户使用它来登录其他网站。

另请注意,大多数网站都不使用OAuth进行身份验证(因为它无论如何都不是身份验证协议)。 OpenID更受欢迎。

您在问题中链接到的项目模板演示了允许用户通过多个OpenID提供商登录,而包括对链接用户帐户的支持

至于支持本地用户帐户,建议您查看source code后面的nerddinner.com。我会建议使用ASP.NET成员资格提供程序为OpenID / OAuth帐户,因为界面不太合适,但人们已经使它工作,所以如果你愿意也可以。