SimpleMembershipProvider 和 OAuth

ASP.NET MVC 4带了一个新的Membership 系统,Jon Galloway 写了一篇很详细的博客《SimpleMembership, Membership Providers, Universal Providers and the new ASP.NET 4.5 Web Forms and ASP.NET MVC 4 templates》,这个虽然叫做SimpleMembership,可扩展性却非常的好,而且还支持OAuth。下面这张图说明了SimpleMembership 集成 ASP.NET Membership 的原理:


201211192238327203.jpg

创建Internet 类型的ASP.NET MVC 4项目,它会自动的帮助我们做很多工作,包括SimpleMembership,数据库和一些基础的表,会在后面自动创建。默认使用的是LocalDB,修改Web.config里的DefaultConnection连接字符串即可指向我们自己的数据库,SimpleMembership可自定义用户表及字段的名称,这样就非常容易和我们的用户系统集成了。打开Filters文件夹下的 InitializeSimpleMembershipAttribute.cs 文件的41行。

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);

第二、三、四个参数分别为用户表名称、ID字段名称和登录名字段名称,可以自行定义。

这是一个内部类SimpleMembershipInitializer 里头调用,可以看到还有EntityFramework的调用,而且是基于新的CodeFirst的。

SimpleMembership的关键功能在 WebSecurity类中,有大量的账户相关的方法,可以直接使用。比如修改密码等,其中也集成了OAuth的功能,已经集成了2个 OpenID providers (Google and Yahoo) 和三个 OAuth providers (Microsoft, Facebook, Twitter),这些功能在 OAuthWebSecurity 类中,同时还有一个通用的接口

public static void RegisterClient(IAuthenticationClient client, string displayName, IDictionary extraData);

Web Site Administration Tool (WSAT) 是不适合 SimpleMembership 的,管理界面可以通过导入 Nuget包SimpleMembershipAdministration。

相关文章:

Customize the SimpleMembership in ASP.NET MVC 4.0

Use MVC 4 and OAuthWebSecurity to post into your users Facebook timeline

The SimpleMembershipProvider Plays Nice with EF Code First and Azure

Including Asp.net Simple Membership Tables as Part of Your Entity Framework Model

Seeding Membership & Roles in ASP.NET MVC 4

Integrating Claims and OAuthWebSecurity

Enable Password Resetting with Simple Membership in MVC 4

为WebApi项目添加注册功能:问题与解决的思维流程

MVC4 Simplemembership后台权限管理系统(附源码下载,链接刚才出问题了,可以下载了)

本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值