为 facebook 开发一个 .net 自定义会员提供程序

Posted

技术标签:

【中文标题】为 facebook 开发一个 .net 自定义会员提供程序【英文标题】:Develop a .net custom membership provider for facebook 【发布时间】:2011-12-19 11:36:00 【问题描述】:

我有一个使用 asp.net 会员数据库的 mvc 网站。

我想改进网站,让用户可以使用他们的 Facebook 详细信息登录我的网站。

我将数据库用于成员资格和角色管理,我还有许多其他相关表,这些表基于添加新用户时创建的用户 ID。

我希望能够允许用户使用 facebook 登录,但是我仍然需要标准会员提供商的所有功能。

我已经迷上了 facebook api,我得到了我需要的一切,比如姓名、facebook id 和年龄。

我想开发一些可以作为某种助手重用的东西。

我是吗

    创建一个新类并从 MembershipProvider 继承 使用来自 facebook 的数据创建我自己的插入方法,以在我的新会员提供商中创建新帐户 使用 facebook ID 作为用户名 创建最终注册页面以捕获 facebook 未提供的任何内容以填充其他必需的表格。

如果我在一个单独的项目中创建此成员资格提供程序(以便我可以重复使用),我可以使用实体框架来完成我的所有插入和编辑吗?我知道我必须引用数据库的名称,但是如果我想在另一个数据库名称不同的项目中再次使用这个 .dll 怎么办。

感谢您的任何建议

【问题讨论】:

V 有兴趣看到对此的响应,因为站点用户现在期望 FB 连接 + Gmail 登录(微软遗憾地忽略了 ASP.NET 成员资格)。您是否看过介绍 OAuth/OpenID 登录 (asp.net/web-pages/overview/what's-new/…) 的 Web Pages 2 的预览,但不确定它是否会与 Membership 集成... 【参考方案1】:

如果您在任何项目中使用此 dll,只需在您的 webconfig 中放置一个连接字符串,当您通过 EF 或任何其他提供程序访问 db 时,只需通过它或在您的 DLL 中编写代码以从您的 webconfig 访问它。它工作正常。

就像在 BLL、DLL 和 PL 等解决方案中创建了三个单独的项目一样,在这种情况下,您的 DLL 作为 Dll 添加到您的 PL 中,并使用您的 PL WebConfig 连接字符串来创建与您的 DB 的连接。

【讨论】:

以上是关于为 facebook 开发一个 .net 自定义会员提供程序的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 分享按钮 - 自定义图片

自定义 Facebook 登录视图 Swift

我可以为自定义对象创建名为“Like”的facebook自定义图形API操作吗?

Facebook 用户到用户请求自定义消息问题

为 Messenger Bots(又名深度链接)创建自定义入口点(链接)

Facebook分享对话框立即消失