在今天,读书有时是件“麻烦”事。它需要你付出时间,付出精力,还要付出一份心境。--仅以《Owin+ASP.NET Identity浅析系列》来祭奠那逝去的……

前两篇博客仅仅说了下功能如何实现,这篇博客来分析IdentityModels、IdentityConfig、Startup.Auth类文件在Owin+ASP.NET Identity框架中起到的作用

  IdentityModels类文件存放的是用户、角色、数据库上下文等实体类

  IdentityConfig类文件存放的是用户管理器、角色管理器、数据库上下文管理器和各种服务,比如邮件服务、短信服务等

  Startup.Auth类文件存放的是整套Membership框架的配置信息

大概了解了这些类文件的作用之后,我们可以看一下微软帮我们自动生成的代码都具备哪些功能?那些是需要我们自己去实现的?

1、首先我们来看一下IdentityModels类文件,这个类里面存放了ApplicationUser和ApplicationDbContext实体类

备注:看到这两个类,我们可以猜测一下,那大概我们是可以管理用户信息的,还有数据库各个表的管理,因为有数据库上下文嘛

2、再来看一下IdentityConfig类文件,这个类里面存放了EmailService、SmsService、ApplicationUserManager、ApplicationSignInManager等服务和管理器

备注:通过类名已经很明确了,EmailService是提供邮件服务的,SmsService是提供短信服务的,ApplicationUserManager(用户管理器)为我们提供了用户管理功能,ApplicationSignInManager(登录管理器?先叫这个名字把)为我们提供了登录信息管理器

3、最后,看一下Startup类(先简单看下各种管理器的创建和membership框架的一些基础配置)

备注:看到这里(窃笑一下),发现前面定义的各种管理器都被放到了OwinContext里进行管理了,而且这里还有关于用户登录的一些基础配置

4、看完IdentityModels、IdentityConfig和Startup,就剩下一个,我们如何获取这些微软为我们提供的牛牛的各种管理器了?有了这些管理器,就可以开始一个简单的会员登录注册并管理这些会员的项目了

protected IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } }

protected ApplicationUserManager UserManager { get { return HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); } }

备注:好吧,获取这些管理器就是这么简单!!!有会员可能就会员角色,但是我们发现自动生成的代码中并没有关于角色的相关代码,所以角色这块需要我们自己通过扩展现有框架来实现,请关注下一篇博客《实现用户角色》

Owin+ASP.NET Identity浅析系列(三)框架结构分析的更多相关文章

  1. Owin+ASP.NET Identity浅析系列(四)实现用户角色

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 通过Owin+ASP.NET ...

  2. Owin+ASP.NET Identity浅析系列(一)用户登录注册

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 使用VS2015创建MVC项 ...

  3. Owin+ASP.NET Identity浅析系列(五)接入第三方登录

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… OK,用户角色实现后,我们回 ...

  4. Owin+ASP.NET Identity浅析系列(二)扩展用户属性

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 上一篇博客讲了用户登录注册问 ...

  5. ASP.NET Identity入门系列教程(一) 初识Identity

    摘要 通过本文你将了解ASP.NET身份验证机制,表单认证的基本流程,ASP.NET Membership的一些弊端以及ASP.NET Identity的主要优势. 目录 身份验证(Authentic ...

  6. Asp.Net生命周期系列三

    上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下. 第一:雇佣了项目经理(HttpApplication). 第二:建立了HttpModule列表,项目经理(HttpRunTime)就 ...

  7. (转)Asp.Net生命周期系列三

    原文地址:http://www.cnblogs.com/skm-blog/p/3178862.html 上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下. 第一:雇佣了项目经理(Htt ...

  8. ASP.NET Identity详解

      Asp.Net Identiy是ASP.NET身份验证机制. 如何构建安全的Web应用? 我们先来思考一个问题:如何构建安全的WEB应用? 一直以来,这都是比较热门的话题.不幸的是,目前还没有一种 ...

  9. Asp.Net生命周期系列四

    上回我们说的当一个Http请求来到HttpModule这里的时候,Asp.Net内部并未对这个Http请求做出任何的处理,我们可以对这个Http请求添加一些我们需要的信息,以方便我们控制这个Http请 ...

随机推荐

  1. Servlet学习系列1

    一.引言: 1.什么是Servlet? JavaWeb 开发规范中的一个组成部分. 服务器端的一段小程序(代码)   2.什么是服务器?→ 安装了服务器软件的计算机. 硬件:电脑 --->高性能 ...

  2. Java集成groovy之GroovyShell、GroovyScriptEngine、GroovyClassLoader

    GroovyClassLoader 用 Groovy 的 GroovyClassLoader ,动态地加载一个脚本并执行它的行为.GroovyClassLoader是一个定制的类装载器,负责解释加载J ...

  3. Java基础——面向对象

    Hello 大家好,我又来啦,今天我们来说说Java的面向对象. 还记得之前去面试几家公司的实习生职位,大部分面试官都问过我有关面向对象 的问题,不知道以后还会不会问,估计是不会了吧...(:3[▓▓ ...

  4. golang label breaks

    我们在for多层嵌套时,有时候需要直接跳出所有嵌套循环, 这时候就可以用到go的label breaks特征了. 先看一个范例代码: package main import (     "f ...

  5. yum只下载不安装dokcer

    yum install --downloadonly --downloaddir=/test/ docker-io 有三个依赖包,如果不知道现后依赖顺序,可以强制安装 哦了

  6. java设计模式-----5、原型模式

    原型(Prototype)模式是一种对象创建型模式,他采取复制原型对象的方法来创建对象的实例.使用原型模式创建的实例,具有与原型一样的数据. 原型模式的特点: 1.由原型对象自身创建目标对象.也就是说 ...

  7. CentOS-Linux系统下安装MySQL

    一.mysql的安装 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够 ...

  8. javascript中函数的写法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. java 策略模式

    <Head First 设计模式>学习中  设计原则 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起 针对接口编程,而不是针对实现编程 多用组合少用继承   ...

  10. Androidpdf

    https://www.jb51.net/article/110238.htm https://blog.csdn.net/u010046908/article/details/53927157 &l ...