在ASP.net中"正确"实现OpenID - 成员身份或身份验证提供商?

Mic*_*tum 13 asp.net openid authentication asp.net-membership

有几种方法可以在ASP.net站点上使用OpenID,但它们似乎都没有使用现有的成员身份和身份验证提供程序机制.

我想知道创建一个完全依赖OpenID的网站的正确方法是什么?继续使用Forms身份验证,但实现了对OpenID进行查找的SqlMembershipProvider变体?

或者我会更深入一级并编写自己的FormsAuthenticationModule?这似乎有些过于简单,因为(据我所知)表单身份验证可以查找任何数据源.

或者是否有第三种方法,保持FormsAuthenticationModule,但使其对OpenID进行查找?

因为这是针对ASP.net MVC应用程序的,所以我没有使用内置的Login WebForms控件,如果这有所不同的话.

And*_*ott 10

ASP.NET定义的Membership API与OpenID完全不匹配,这可能是您没有看到很多系统使用它的原因.我还没有看到有必要使用OpenID的成员资格提供程序,所以它并没有真正成为一个问题.尝试使成员资格提供程序模型适合OpenID的一个项目是http://code.google.com/p/dotnet-membership-provider/,但它最近看起来并不像它一样.

正如womp所说,你不需要重做FormsAuthenticationModule.它与OpenID完美配合.

查看DotNetOpenAuth附带项目模板,了解在没有成员资格提供者的情况下如何工作.