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功能,以实现 ...
随机推荐
- JS函数声明与定义,作用域,函数声明与表达式的区别
Scoping & Hoisting 例: var a = 1; function foo() { if (!a) { var a = 2; } alert(a); }; foo(); 上面这 ...
- BZOJ3413: 匹配(后缀自动机 线段树合并)
题意 题目链接 Sol 神仙题Orz 后缀自动机 + 线段树合并... 首先可以转化一下模型(想不到qwq):问题可以转化为统计\(B\)中每个前缀在\(A\)中出现的次数.(画一画就出来了) 然后直 ...
- CoreCRM 开发实录 —— 基于 AntDesign 的新 UI
上一篇说到,因为有新朋友加入,对前端开发有了新的要求.原来基于 Bootstrap 的 UI 就不要了.在网上(其实是 GitHub 上)逛了几圈,最后使用了 antd-admin 这个框架做为基础模 ...
- 可视化接口管理工具RAP,模拟数据,校验接口
最近看到一个不错的接口管理的工具,分享一下 RAP ppt介绍:http://www.imooc.com/video/11060 RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校 ...
- SoapUI SoapUI接口测试之编码设置
SoapUI接口测试之编码设置 by:授客 QQ:1033553122 问题描述: 实际测试过程中发现,SoapUI提交后的数据,在数据库中查看数据值存储,发现是乱码,如下图: 查找原因,show c ...
- Linux 改动inittab文件及忘记密码等导致无法进入系统的解决办法
改动inittab文件及忘记密码等导致无法进入系统的解决办法[摘] by:授客 QQ:1033553122 inittab是linux的系统启动模式配置文件,在”/etc“文件目录下没,其内容是: # ...
- Android JNI c/c++调用java 无需新建虚拟机
近期通过研究SDL源码 得出android JNI c/c++调用java 无需新建虚拟机: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass void Java_com_Test_A ...
- JavaScript按日期排序之灵活排序
上代码: var dataContent = [ { ID: "1", hobbit: "去音乐", sport: "在篮球", movie ...
- 阿里SopHix热修复框架
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案.阿里AndFix以及微信Tinker(Bugly sdk也集成Tikner ...
- ASP.NET Boilerplate 学习
1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: 3.在AbpTest.Web.Host项目的ap ...