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”微信公众号

目录
相关文章
|
3月前
|
存储 安全 数据安全/隐私保护
OAuth2.0与OAuth1.0你了解了吗?
OAuth2.0与OAuth1.0你了解了吗?
|
5月前
|
存储 JSON 安全
Oauth2.0 + JWT 做权限认证
做过权限认证的朋友都清楚,SpringSecurity 的功能很强大,但是我们也都知道,它配置起来也着实让人头疼。N多个配置类还有N多个需要实现的接口,总是记不住和不知道为什么会有这么多,最近在学习这方面的东西,正好能够把学习到的东西分享出来给大家参考一下。
|
8月前
|
JSON 安全 前端开发
什么是 OAuth?
什么是 OAuth? 从高层次开始,OAuth 不是API或服务:它是授权的开放标准,任何人都可以实施它。 更具体地说,OAuth 是应用程序可以用来为客户端应用程序提供“安全委托访问”的标准。OAuth 通过 HTTPS 工作,并使用访问令牌而不是凭据对设备、API、服务器和应用程序进行授权。 OAuth 有两个版本:OAuth 1.0a和OAuth 2.0。这些规范彼此完全不同,不能一起使用:它们之间没有向后兼容性。 哪一个更受欢迎?好问题!如今,OAuth 2.0 是使用最广泛的 OAuth 形式。所以从现在开始,每当我说“OAuth”时,我都是在谈论 OAuth 2.0——因为它很可能
112 0
什么是 OAuth?
|
11月前
|
安全 应用服务中间件 API
JWT和OAuth2.0
JWT是一种认证协议,提供了一种用于发布接入令牌(Access Token),并对发布的签名接入令牌进行验证的方法。SSO私钥加密token。应用端公钥解密token。 OAuth2.0是一种授权框架,提供了一套详细的授权机制(指导)。用户或应用可以通过公开的或私有的设置,授权第三方应用访问特定资源。
131 0
JWT和OAuth2.0
|
安全 数据安全/隐私保护
OAuth 2.0授权框架详解
OAuth 2.0授权框架详解
OAuth 2.0授权框架详解
|
存储 JSON 算法
OAuth2.0实战(三)-使用JWT(下)
OAuth2.0实战(三)-使用JWT(下)
187 0
OAuth2.0实战(三)-使用JWT(下)
|
JSON 算法 数据安全/隐私保护
OAuth2.0实战(三)-使用JWT(上)
OAuth2.0实战(三)-使用JWT(上)
136 0
OAuth2.0实战(三)-使用JWT(上)
|
JSON 安全 算法
OAuth2 vs JWT,到底怎么选?
你已经或者正在实现API; 你正在考虑选择一个合适的方法保证API的安全性; JWT和OAuth2比较?
294 0
到底什么是 OAuth 2.0?
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。
到底什么是 OAuth 2.0?
|
JSON 缓存 安全
理解OAuth 2.0
理解OAuth 2.0
48 0
理解OAuth 2.0
相关产品
云迁移中心
推荐文章
更多