identity一些接口
ASP.NET平台通过HttpContext对象提供一些关于用户的有用信息,该对象由Authorize注解属性使用 的,以检查当前请求的状态,考察用户是否已被认证。HttpContext.User属性返回的是IPrincipal 接口的实现,该接口是在System.Security.Principal命名空间中定义的。
IPrincipal接口:
ASP.NET平台通过HttpContext对象提供一些关于用户的有用信息,该对象由Authorize注解属性使用 的,以检查当前请求的状态,考察用户是否已被认证。HttpContext.User属性返回的是IPrincipal 接口的实现,该接口是在System.Security.Principal命名空间中定义的。IPrincipal接口定义了 如下表所示的属性和方法:
| 名称 | 描述 |
| Identity | 返回IIdentity接口的实现,它描述了与请求相关联的用户 |
| IsInRole(role) | 如果用户是指定角色的成员,则返回true |
IIdentity接口:
IPrincipal.Identity属性返回的IIdentity接口实现通过一些属性提供了有关当前用户的一些基本却有用的信息,下表描述了这些属性:
| 名称 | 描述 |
| AuthenticationType | 返回一个字符串,描述了用于认证用户的机制 |
| IsAuthenticated | 如果用户已被认证,返回true。 |
| Name | 返回当前用户的用户名 |
ASP.NET Identity含有一个处理AuthenticateRequest生命周期事件(第3章曾做过描述)的模块,并使 用浏览器发送过来的Cookie确认用户是否已被认证。 Identity用于IIdentity接口的实现类,其名称为ClaimsIdentity。
如果用户已被 认证,此ASP.NET框架模块便会将IIdentity.IsAuthenticated属性的值设置为true,否则设置为 false。(此刻尚未实现让用户进行认证的特性,这意味着在本示例应用程序中,IsAuthenticated 属性的值总是false。)
PasswordValidator类:
一个最常用的需求,特别是对于公司的应用程序,是强制口令策略。ASP.NET Identity提供了一个 PasswordValidator类,可以用下表所描述的属性来配置口令策略:
| 名称 | 描述 |
| RequiredLength | 指定合法口令的最小长度 |
| RequireNonLetterOrDigit | 当设置为true时,合法口令必须含有非字母和数字的字符 |
| RequireDigit | 当设置为true时,合法口令必须含有数字 |
| RequireLowercase | 当设置为true时,合法口令必须含有小写字母 |
| RequireUppercase | 当设置为true时,合法口令必须含有大写字母 |
定义口令策略的办法是,创建一个PasswordValidator类实例、设置其属性的值,并在OWIN用来实例化UserManager类的Create方法中将该对象作为PasswordValidator属性的值。
还可以执行更一般的验证,办法是创建UserValidator类的实例,并使用它所定义的属性,以限制用 户其他属性的值。下表描述了UserValidator的属性:
| 名称 | 描述 |
| AllowOnlyAlphanumericUserNames | 当为true时,用户名只能含有字母数字字符 |
| RequireUniqueEmail | 当为true时,邮件地址必须唯一 |
对用户细节执行验证的做法是创建UserValidator类实例,并在OWIN用来创建实例的Create方法中, 将它赋给用户管理器类的UserValidator属性。
IdentityResult接口:
CreateAsync方法的结果是一个IdentityResult接口的实现,它通过下表的属性描述操作的输出。
| 名称 | 描述 |
| Errors | 返回一个字符串枚举,其中列出了尝试操作期间所遇到的错误。 |
| Succeeded | 在操作成功时返回true |
identity一些接口的更多相关文章
- 从Membership 到 .NET4.5 之 ASP.NET Identity
我们前面已经讨论过了如何在一个网站中集成最基本的Membership功能,然后深入学习了Membership的架构设计.正所谓从实践从来,到实践从去,在我们把Membership的结构吃透之后,我们要 ...
- 向空项目添加 ASP.NET Identity
安装 AspNet.Identity 程序包 Microsoft.AspNet.Identity.Core 包含 ASP.NET Identity 核心接口Microsoft.AspNet.Ident ...
- [转]Membership 到 .NET4.5 之 ASP.NET Identity
本文转自:http://www.cnblogs.com/jesse2013/p/membership-part3.html 我们前面已经讨论过了如何在一个网站中集成最基本的Membership功能,然 ...
- [Solution] ASP.NET Identity(1) 快速入门
本节将介绍: ASP.NET Identity简介 快速入门 扩展 ASP.NET Identity简介 身份管理在ASP.NET中存在很长世间了,ASP.NET 开发团队已经学会了很多从客户的反馈. ...
- (转)从Membership 到 .NET4.5 之 ASP.NET Identity
引入 - 用户信息是如何存在数据库中的 我们前两篇都只讲到了怎么用Membership注册,登录等,但是我们漏掉了一个很重要并且是基本上每个用Membership的人都想问的,我的用户信息怎么保存?我 ...
- Asp.Net Identity自定义user类的运用,ClaimsIdentity
mvc5自动生成的用户验证是比较好用的,还可以扩展,可是要求code first,目前使用sqlite,支持entity framework,但不支持code first. 只有自已简单模仿一下了.经 ...
- Asp.Net.Identity认证不依赖Entity Framework实现方式
Asp.Net.Identity为何物请自行搜索,也可转向此文章http://www.cnblogs.com/shanyou/p/3918178.html 本来微软已经帮我们将授权.认证以及数据库存储 ...
- 介绍 ASP.NET Identity - ASP.NET 应用程序的成员身份认证系统
ASP.NET Identity 是构建 ASP.NET web 应用程序的一种新的身份认证系统.ASP.NET Identity 可以让您的应用程序拥有登录功能,并可以轻松地自定义登录用户的相关数据 ...
- ABP源码分析四十二:ZERO的身份认证
ABP Zero模块通过自定义实现Asp.Net Identity完成身份认证功能, 对Asp.Net Identity做了较大幅度的扩展.同时重写了ABP核心模块中的permission功能,以实现 ...
随机推荐
- TurboLinux系统管理习题一
TurboLinux系统管理习题一 1. 使用vi编辑文本只读时,强制存盘并退出的命令是?(单选题)A :w! B :q! C :wq! D :e!答案 ...
- SQLite保存报错sqlite.SQLiteConstraintException: UNIQUE constraint failed: ······ code 1555
往数据库里保存数据的时候报错,用的afinal框架,明明在save操作之前执行了一遍deleteAll操作,还是报错. 百度了一下说报这种错有两种情况:一是定义的字段为not null ,插入时对应的 ...
- 第一个Django页面(2)
第一个Django页面 1,进入forum项目:熟悉项目里各种文件的作用 2,配置URL:在urls.py里面添加 [url路径与对应的处理函数] 3,编写处理函数:根据urls.py里添加函数的路径 ...
- Java:JDBC的基本使用
本文内容: 什么是JDBC JDBC的使用 事务 连接池 DbUtils 首发日期:2018-05-27 修改: 2018-07-19:增加了事务.连接池.DBUtils 2018-07-27:对特别 ...
- Access删除某一字段重复的数据但是要保留一条
如下图所示,Checktime这个字段有很多重复数据,我需要把所有Checktime这个字段重复的都删掉,但是还需要保留一条: 在Access做删除查询怎么做呀,来个Access高手,复制粘贴党请手下 ...
- java 基础one ---运算符and流程控制
首先java这个了解下java的基础 首先java文件都是以.java结尾的 然后 他所有的内容都是有一个入口的就是放在了public static void main(String [] args ...
- python UDP套接字通信
UDPserver.py import socket #导入套接字模块 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # - socket.A ...
- httpd的一些知识点
一.httpd持久化连接:使用httpd之telnet测试其keepalive连接状态 作用:连接建立后,每个资源获取结束不会断开连接,而继续等待其他资源请求并完成传输. 1.KeepAlive O ...
- January 18th, 2018 Week 03rd Thursday
To strive, to seek, to find, and not to yield. 去奋斗,去寻觅,去探索,但绝不屈服. Strive for our dreams, seek the ve ...
- webpack-dev-server 配置
webpack.config.js 配置 var ExtractTextPlugin = require("extract-text-webpack-plugin"); var C ...