我正在构建一个ASP.NET MVC站点,想使用DotNetOpenAuth实现OpenID登录(完全放弃用户名/密码登录)。
目前为止,我一直在为默认的用户名/密码系统编写代码,使用ASP.NET Membership Provider,利用角色系统、配置文件系统和基本注册系统。现在,在我的迁移到OpenID时,我预见到一些问题,特别是与ASP.NET Membership Provider提供的成员身份控件的接口问题。
查看DotNetOpenAuth MVC示例,我发现唯一涉及FormsAuthentication系统的引用是创建一个AuthCookie
,以及稍后调用FormsAuthentication.SignOut()
。因此,我不确定是否可以使用ASP.NET Membership Provider函数与这个OpenID系统交互,虽然示例代码的另一部分调用了User.Identity.IsAuthenticated
。
这个OpenID系统是否能与ASP.NET Membership Provider接口?如果不能,我该如何解决?
如果上述完全不可能,我认为我的下一步行动将是只需手动编写代码来从我的账户控制器中使用它们的数据库表,即 自己设计数据库表。我注意到Stack Exchange数据查询工具采用了这种方法,但这是正确的行动方案吗?
编辑:只是为了确保我使用了正确的术语,“ASP.NET Membership Provider”是指使用由aspnet_regsql.exe
工具生成的表的提供程序。