这篇英文博文是 Andrew Lock 写的 Introduction to Authentication with ASP.NET Core . 以下是简单的阅读笔记: ----------------------------------- ASP.NET Core 的验证模型是 claims-based authentication .Claim 是对被验证主体特征的一种表述,比如:登录用户名是...,email是...,用户Id是...,其中的“登录用户名”,“email”,“用户Id”就…
这篇英文博文是 Andrew Lock 写的 Introduction to Authentication with ASP.NET Core . 以下是简单的阅读笔记: ----------------------------------- ASP.NET Core 的验证模型是 claims-based authentication .Claim 是对被验证主体特征的一种表述,比如:登录用户名是...,email是...,用户Id是...,其中的“登录用户名”,“email”,“用户Id”就…
Claim, ClaimsIdentity, ClaimsPrincipal: Claim:姓名:xxx,领证日期:xxx ClaimsIdentity:身份证/驾照 ClaimsPrincipal:人 人(ClaimsPrincipal)拥有,身份证,驾照等证件(ClaimsIdentity),这些证件上有姓名等信息(Claim)…
前言 首先我们来看一下在ASP.NET时代,Authentication是如何使用的.下面介绍的是System.Web.Security.FormsAuthentication: // 登录 System.Web.Security.FormsAuthentication.SetAuthCookie("userName", false); if(User.Identity.IsAuthenticated) { // 已认证 } // 退出登录 System.Web.Security.Fo…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 模型绑定 什么是模型绑定?简单说就是将HTTP请求参数绑定到程序方法入参上,该变量可以是简单类型,也可以是复杂类. 绑定源 所谓绑定源,是指用于模型绑定的值来源. 先举个例子: [Route("api/[controller]")] public class UserController : ControllerBase { [Route("{id}")] pu…
ASP.NET Core 验证 通常在应用程序中,安全分为前后两个步骤:验证和授权.验证负责检查当前请求者的身份,而授权则根据上一步得到的身份决定当前请求者是否能够访问期望的资源. 既然安全从验证开始,我们也就从验证开始介绍安全. 验证的核心概念 我们先从比较简单的场景开始考虑,例如在 Web API 开发中,需要验证请求方是否提供了安全令牌,安全令牌是否有效.如果无效,那么 API 端应该拒绝提供服务.在命名空间 Microsoft.AspNetCore.Authentication 下,定义…
目录 前言 基于声明的认证(Claims-based Authentication) 应用场景一 在ASP.NET Core 中Identity是如何实现的 类ClaimsPrincipal 考察另外一个重要的类ClaimsIdentity 在ASP.NET Core Identity中使用 总结 @ 前言 有三个重要的类Claim, ClaimsIdentity, ClaimsPrincipal,我们以一个持有合法证件的学生Bob做比方: ClaimsPrincipal就是持有证件的学生Bob…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 通常,身份认证(Authentication)和授权(Authorization)都会放在一起来讲.但是,由于这俩英文相似,且"认证授权"四个字经常连着用,导致一些刚接触这块知识的读者产生混淆,分不清认证和授权的区别,甚至认为这俩是同一个.所以,我想先给大家简单区分一下身份认证和授权. 身份认证 确认执行操作的人是谁. 当用户请求后台服务时,系统首先需要知道用户是谁,是张三.…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 在开始之前,如果你还不了解基于Cookie的身份认证,那么建议你先阅读<基于Cookie的身份认证>后再阅读本文. 另外,为了方便大家理解并能够上手操作,我已经准备好了一个示例程序,请访问XXTk.Auth.Samples.JwtBearer.HttpApi获取源码.文章中的代码,基本上在示例程序中均有实现,强烈建议组合食用! Jwt概述 Jwt是什么 Jwt是一个开放行业标准(RFC75…
注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 之前,我们已经了解了ASP.NET Core中的身份认证,现在,我们来聊一下授权. 老规矩,示例程序源码XXTk.Auth.Samples已经提交了,需要的请自取. 概述 ASP.NET Core中的授权方式有很多,我们一起了解一下其中三种较为常见的方式: 基于角色的授权 基于声明的授权 基于策略的授权 其中,基于策略的授权是我们要了解的重点. 在进入正文之前,我们要先认识一个很重要的特性--Auth…