专栏首页张善友的专栏SimpleMembershipProvider 和 OAuth

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 的原理:

创建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<string, object> 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后台权限管理系统(附源码下载,链接刚才出问题了,可以下载了)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • One ASP.NET

    大多数情况下,我是一名 ASP.NET开发人员。我不需要指定 MVC 或 Web Form,他们都是微软One ASP.NET战略的核心。我的应用程序往往是混合...

    张善友
  • 移动站点开发

    作者Dino Esposito 尝试从不主要侧重于技术的角度阐述移动站点开发,是每个web开发人员必读的系列文章,文章如下: 移动站点开发:第 1 部分 标记 ...

    张善友
  • ASP.NET MVC Release Candidate 1学习指南

    现在 ASP.NET MVC Release Candidate 已经可以下载, 如何着手开始用asp.net mvc开发应用呢? 这是一个学习ASP.NET ...

    张善友
  • 将传统 ASP.NET 应用迁移到 .NET Core

    现在越来越多的人在谈论. NET Core。诚然,.NET Core 是未来, 但是.NET Framework 仍在支持, 因为大量的应用程序无法在短时间内迁...

    Edi Wang
  • Asp.Net Core-----简介与安装

    目录 Asp.Net Core-----简介与安装 Asp.Net Core简介 ? ASP.NET Core 是一个全新的开源、跨平台框架,可以用它来构建基于...

    kmonkey
  • 安啦,不要再慢腾腾地从百度搜索软件下载了。

    相信很多人都有过这样或类似这样的经历:刚刚装完系统,自己的电脑空白一片,需要装许多日常软件,使用搜索网站一个一个搜索,找到官网后再找到对应的下载按钮,可以说是很...

    课代表
  • python 字符串拼接

    用户5760343
  • 物联网安全研究之一:IoT架构介绍

    最近,很多人都向我咨询物联网(IoT)安全研究如何入门的问题,以此,我打算写一些物联网相关的安全加固、渗透测试和漏洞利用的文章,以供大家参考借鉴,希望能帮大家解...

    FB客服
  • 从IoT技术架构看ThingWorx平台

    IoT需要各个层次的标准化技术,尤其是架构技术方面 IoT硬件在感知层,联接层次首先需实现Thing的互联、互通和互操作,其次对于成功的IoT项目,更需要从系统...

    企鹅号小编
  • Java开发者哭了,最主流的物联网编程语言竟不是它

    从 2015 年起至今,Eclipse 基金会每年会通过 IoT 开发者调查报告(2015、2016)来研究 IoT 开发者社区的发展趋势。近期,Eclipse...

    李海彬

扫码关注云+社区

领取腾讯云代金券