就像“使用StackExchange登录”一样,我希望StackExchange有一个自定义成员资格提供程序可用于许多应用程序。
我有很多Web应用程序,需要扩展,我希望有一个数据库和一个共享成员资格应用程序来处理登录,注册,配置文件和基于角色的成员资格管理。
经过一些研究,我还发现使用WCF服务来处理这个实现是一个好主意。
在我开始使用任何应用程序之前,我只是想了解它,如果有任何开源项目甚至资源,我宁愿不重新发明轮子。
有谁能告诉我它是如何实现的?
答案 0 :(得分:1)
您可以使用多种选项 - 连接到共享成员资格数据库,WCF身份验证服务或OAuth的ASP.NET成员资格提供程序。
ASP.NET成员资格提供程序
这不是 成为自定义成员资格提供者 - 标准SqlMembershipProvider模型将满足您的要求,只要每个站点都可以访问共享数据库。见这里:http://msdn.microsoft.com/en-us/library/ms731049%28v=vs.110%29.aspx
WCF身份验证服务
如果无法连接到共享数据库,则可以使用WCF身份验证服务。 WCF已经为您提供了许多预先构建的代码,因此您不会重新发明轮子。请参阅此处了解具体的代码示例:
Walkthrough: Using ASP.NET Application Services
How to: Enable the WCF Authentication Service
How to: Customize User Login When Using the WCF Authentication Service
How to: Use Non-default Membership Provider for WCF Authentication Service
How to: Customize the Authentication Cookie from the WCF Authentication Service
<强>的OAuth 强>
OAuth是一个很大的话题,也是一个很大的意见分歧者。阅读this introductory article on MSDN。您可能还需要考虑预先构建的.NET OAuth库 - 请参阅以下内容:http://oauth.net/code/