ASP.NET Core 2.2中,如何细化JWT与用户授权到具体Action级别的实现细节?

2026-03-30 13:260阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1769个文字,预计阅读时间需要8分钟。

ASP.NET Core 2.2中,如何细化JWT与用户授权到具体Action级别的实现细节?

上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章将继续进行下一步,介绍用户授权。涉及到的例子也将以上一章节为基础。

上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章继续进行下一步,用户授权。涉及到的例子也以上一章的为基础。(ASP.NET Core 系列目录)

一、概述

  首先说一下认证(authentication)与授权(authorization),它们经常在一起工作,所以有时候会分不清楚。并且这两个英文单词长得也像兄弟。举例来说,我刷门禁卡进入公司,门禁了我是这里的员工,可以进入;但进入公司以后,我并不是所有房间都可以进,比如“机房重地,闲人免进”,我能进入哪些房间,需要公司的。这就是认证和授权的区别。

  ASP.NET Core提倡的是基于声明(Claim)的授权,关于这个Claim,上一章用到过,有如下这样的代码,但没有介绍:

Claim[] claims = new Claim[] { new Claim(ClaimTypes.NameIdentifier, user.Code), new Claim(ClaimTypes.Name, user.Name) };

这是一个声明的集合,它包含了两个 声明,用于保存了用户的唯一ID和用户名。当然我们还可以添加更多的Claim。对应Claim,还有ClaimsIdentity和ClaimsPrincipal 两个类型。

阅读全文

本文共计1769个文字,预计阅读时间需要8分钟。

ASP.NET Core 2.2中,如何细化JWT与用户授权到具体Action级别的实现细节?

上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章将继续进行下一步,介绍用户授权。涉及到的例子也将以上一章节为基础。

上一章分享了如何在ASP.NET Core中应用JWT进行用户认证以及Token的刷新,本章继续进行下一步,用户授权。涉及到的例子也以上一章的为基础。(ASP.NET Core 系列目录)

一、概述

  首先说一下认证(authentication)与授权(authorization),它们经常在一起工作,所以有时候会分不清楚。并且这两个英文单词长得也像兄弟。举例来说,我刷门禁卡进入公司,门禁了我是这里的员工,可以进入;但进入公司以后,我并不是所有房间都可以进,比如“机房重地,闲人免进”,我能进入哪些房间,需要公司的。这就是认证和授权的区别。

  ASP.NET Core提倡的是基于声明(Claim)的授权,关于这个Claim,上一章用到过,有如下这样的代码,但没有介绍:

Claim[] claims = new Claim[] { new Claim(ClaimTypes.NameIdentifier, user.Code), new Claim(ClaimTypes.Name, user.Name) };

这是一个声明的集合,它包含了两个 声明,用于保存了用户的唯一ID和用户名。当然我们还可以添加更多的Claim。对应Claim,还有ClaimsIdentity和ClaimsPrincipal 两个类型。

阅读全文