我计划将 OpenAuth 身份验证添加到具有自定义成员资格提供程序的现有 asp.net webforms 应用程序中。这不是我在网上看到的问题(http://blogs.msdn.com/b/webdev/archive/2012/09/12/integrate-openauth-openid-with-your-existing-asp- net-application-using-universal-providers.aspx),但对于 OpenAuth 要添加的两个额外数据表,我无权访问本地数据库。所有数据都必须使用 Web 服务获取。是否有任何简单的方法可以覆盖 OpenAuth 的数据库访问以使用 Web 服务的实现?也许有人已经这样做了,或者对应该如何做有任何想法?
问问题
246 次
1 回答
0
我没有找到有关如何覆盖数据库通信以使用 Web 服务的任何线索,因此我创建了一个新的自定义类来模仿 Microsoft.AspNet.Membership.OpenAuth 类。我编写的方法是 Login、AddAccountToExistingUser、CreateUser、GetAccountsForUser 和 DeleteAccount。所有这些都会对我的 Web 服务进行适当的调用,该 Web 服务将数据存储在我的自定义数据库模式中。Login 方法还调用 FormsAuthentication.SetAuthCookie。
据我所知,Microsoft.AspNet.Membership.OpenAuth 的其余部分都可以使用。我想所有名为LocalPassword的方法也应该实现,但我还没有实现。
这很可能不是最好的解决方案,但它对我有用,我现在可以使用谷歌等来验证用户身份。
于 2013-05-14T09:30:58.670 回答