当前位置: 首页 > news >正文

core Webapi jwt 认证

core cookie 验证

Web API Jwt

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
》》》》用户信息

namespace WebAPI001.Coms
{public class Account{public string UserName { get; set; }public string UserPassword { get; set; }public string UserRole { get; set; }}
}

》》》获取jwt类

using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Runtime.CompilerServices;
using System.Security.Claims;
using System.Text;namespace WebAPI001.Coms
{public  class JwtHelper{      public static string GenerateJWT(Account user, IConfiguration _configuration){           byte[] keyBytes = Encoding.UTF8.GetBytes(_configuration?.GetValue<string>("TokenParameter:Secret"));var securityKey = new SymmetricSecurityKey(keyBytes);// 创建JWT的签名凭证var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);// 设置JWT的Claimsvar claims = new[]{new Claim(ClaimTypes.Name, user.UserName),new Claim(ClaimTypes.Role, user.UserRole),// 添加其他需要的声明};// 创建JWT的Tokenvar token = new JwtSecurityToken(issuer: _configuration.GetValue<string>("TokenParameter:Issuer"),audience: _configuration.GetValue<string>("TokenParameter:Audience"),claims: claims,expires: DateTime.Now.AddMinutes(_configuration.GetValue<int>("TokenParameter:AccessExpiration")),signingCredentials: signingCredentials);// 生成JWT字符串var jwtToken = new JwtSecurityTokenHandler().WriteToken(token);return jwtToken;}}
}

在这里插入图片描述

在这里插入图片描述

// Core 自带官方 JWT认证
// 开启Bearer 认证builder.Services.AddAuthentication(options =>{// 设置默认的身份验证和挑战方案为 JwtBeareroptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;}) // 配置 JWT Bearer 选项.AddJwtBearer(options =>{// 配置 Token 验证参数options.TokenValidationParameters = new TokenValidationParameters{// 验证发行者ValidateIssuer = true,// 验证受众ValidateAudience = true,// 验证令牌有效期ValidateLifetime = true,// 验证签名密钥ValidateIssuerSigningKey = true,// 发行者ValidIssuer = builder.Configuration["TokenParameter:Issuer"],// 受众ValidAudience = builder.Configuration["JokenParameter:Audience"],// 签名密钥IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["TokenParameter:Secret"])),AudienceValidator = (m, n, z) => {//自定义验证逻辑return true;}};options.Events = new JwtBearerEvents{OnAuthenticationFailed = context =>{// 如果过期,则把 是否过期 添加到  , 返回头信息中if (context.Exception.GetType() == typeof(SecurityTokenExpiredException)){context.Response.Headers.Add("Token-Expired", "true");}return Task.CompletedTask;}//OnForbidden//OnChallenge//OnMessageReceived//OnTokenValidated};});

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
源码

相关文章:

core Webapi jwt 认证

core cookie 验证 Web API Jwt 》》》》用户信息 namespace WebAPI001.Coms {public class Account{public string UserName { get; set; }public string UserPassword { get; set; }public string UserRole { get; set; }} }》》》获取jwt类 using Microsoft.AspNetCore.Mvc…...

【Redis】Redis基础——Redis的安装及启动

一、初识Redis 1. 认识NoSQL 数据结构&#xff1a;对于SQL来说&#xff0c;表是有结构的&#xff0c;如字段约束、字段存储大小等。 关联性&#xff1a;SQL 的关联性体现在两张表之间可以通过外键&#xff0c;将两张表的数据关联查询出完整的数据。 查询方式&#xff1a; 2.…...

Oracle Recovery Tools工具一键解决ORA-00376 ORA-01110故障(文件offline)---惜分飞

客户在win上面迁移数据文件,由于原库非归档,结果导致有两个文件scn不一致,无法打开库,结果他们选择offline文件,然后打开数据库 Wed Dec 04 14:06:04 2024 alter database open Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_6056.trc: ORA-01113:…...

常用环境部署(二十四)——Docker部署开源物联网平台Thingsboard

1、Docker和Docker-compose安装 参考网址如下&#xff1a; CENTOS8.0安装DOCKER&DOCKER-COMPOSE以及常见报错解决_centos8安装docker-compose-CSDN博客 2、 Thingsboard安装 &#xff08;1&#xff09;在/home目录下创建docker-compose.yml文件 vim /home/docker-com…...

SqlServer Doris Flink SQL 类型映射关系

SqlServer 对应 Flink SQL 数据类型映射关系 SQL Server TypeFlink SQL Typechar(n)CHAR(n)varchar(n)VARCHAR(n)nvarchar(n)VARCHAR(n)nchar(n)VARCHAR(n)textSTRINGntextSTRINGxmlSTRINGdecimal(p, s)DECIMAL(p, s)moneyDECIMAL(p, s)smallmoneyDECIMAL(p, s)numericNUMERIC…...

Java 中的方法重写

在 Java 中&#xff0c;方法重写&#xff08;Method Overriding&#xff09;是面向对象编程的一个重要概念&#xff0c;它指的是子类中存在一个与父类中相同名称、相同参数列表和相同返回类型的方法。方法重写使得子类可以提供特定的实现&#xff0c;从而覆盖&#xff08;或改变…...

v-for遍历多个el-popover;el-popover通过visible控制显隐;点击其他隐藏el-popover

场景:el-popover通过visible控制显隐;同时el-popover是遍历生成的多个。 原文档的使用visible后就不能点击其他地方使其隐藏;同时解决实现点击其他区域隐藏 <template><div><template v-for="(item,index) in arr" :key="index"><…...

从 Excel 文件中读取数据生成 SQL 语句[快捷main方法]

从 Excel 文件中读取数据生成 SQL 语句的实现 在日常工作中&#xff0c;我们经常需要从 Excel 文件中提取数据&#xff0c;并将其转换为 SQL 插入语句&#xff0c;以便于将数据导入到数据库中。在这篇文章中&#xff0c;我将展示如何使用 Java 来实现这一需求。 项目需求 我…...

从0到1实现项目Docker编排部署

在深入讨论 Docker 编排之前&#xff0c;首先让我们了解一下 Docker 技术本身。Docker 是一个开源平台&#xff0c;旨在帮助开发者自动化应用程序的部署、扩展和管理。自 2013 年推出以来&#xff0c;Docker 迅速发展成为现代软件开发和运维领域不可或缺的重要工具。 Docker 采…...

Vue框架入门

Author&#xff1a;Dawn_T17?? 目录 什么是框架 一.Vue 的使用方向 二.Vue 框架的使用场景 &#xff08;TIP&#xff09;MVVM思想 三.Vue入门案例 TIP&#xff1a;插值表达式 四.Vue-指令? &#xff08;1&#xff09;v-bind 和 v-model? ? &#xff08;2&#x…...

vue入门实战(二)父子组件显示,参数传递

经过上次的写法&#xff0c;我们已经写出每个list项&#xff0c;现在要在每个父组件下面加入自己的子项 一、新建子组件&#xff1a; smallItem.vue&#xff1a; <script> export default{props:[text,id,status] //父组件传来的参数 } </script> <template>…...

【Linux】Ubuntu:安装系统后配置

hostname&#xff1a;更改主机名 打开终端。 使用hostnamectl命令更改主机名。 sudo hostnamectl set-hostname 新的主机名你可以使用hostnamectl 命令来验证更改是否成功&#xff1a; hostnamectlChrome&#xff1a;更换默认浏览器 以下是从 Ubuntu 中移除预装的 Snap 版 Fi…...

springboot-查看版本和版本所需JDK

文章目录 访问spring管网查看springboot 项目查看当前版本查看版本所需JDK 访问spring管网 https://spring.io/ 查看springboot 项目 查看当前版本 点击调整到参考文档中去… 查看版本所需JDK...

fuxa搭建与使用(web组态)

1. 安装Node.js -> npm安装 参考网址&#xff1a;https://blog.csdn.net/WHF__/article/details/129362462 一、安装运行 C:WINDOWSsystem32>node -v v20.17.0 C:WINDOWSsystem32>npm -v 10.8.2 二、环境配置 在安装路径&#xff08;D:Program_Files odejs&#x…...

中间件--MongoDB部署及初始化js脚本(docker部署,docker-entrypoint-initdb.d,数据迁移,自动化部署)

一、概述 MongoDB是一种常见的Nosql数据库&#xff08;非关系型数据库&#xff09;&#xff0c;以文档&#xff08;Document&#xff09;的形式存储数据。是非关系型数据库中最像关系型数据库的一种。本篇主要介绍下部署和数据迁移。 在 MongoDB 官方镜像部署介绍中&#xff…...

C语言期末考试——常见考题(模拟考)

目录 一、填空题&#xff08;每空2分&#xff0c;共 20 分&#xff09; 二、选择题&#xff08;每题2分&#xff0c;共26分&#xff09; 三、编程题&#xff08;第1题6分&#xff0c;其余题目每题10分&#xff09; &#xff01;&#xff01;&#xff01;需要答案的可以私信&…...

流量过滤与路径转发控制

1&#xff0c;策略路由 PBR基本概念&#xff1a; 策略路由&#xff0c;使网络设备不仅能够基于报文的目的IP地址进行数据转发&#xff0c;也能基于其他元素进行转发&#xff0c;比如源IP地址、MAC地址 可以使用ACL匹配特定的报文&#xff0c;针对该ACL进行PBR部署 PRB策略的…...

Ungoogled Chromium127编译指南 Windows篇 - 获取源码(七)

1. 引言 在完成所有必要工具的安装和配置后&#xff0c;我们进入了Ungoogled Chromium编译过程的第一个关键阶段&#xff1a;获取源代码。本文将详细介绍如何正确获取和准备Ungoogled Chromium的源代码&#xff0c;为后续的编译工作打下基础。 2. 准备工作 2.1 环境检查 在…...

k8s 之 StatefulSet

深入理解StatefulSet&#xff08;一&#xff09;&#xff1a;拓扑状态 k8s有状态与无状态的区别 无状态服务&#xff1a;deployment Deployment被设计用来管理无状态服务的pod,每个pod完全一致.什么意思呢? 无状态服务内的多个Pod创建的顺序是没有顺序的. 无状态服务内的多…...

iPhone 17 Air基本确认,3个大动作

近段时间&#xff0c;果粉圈都在讨论一个尚未发布的新品&#xff1a;iPhone 17 Air&#xff0c;苹果又要来整新活了。 从供应链消息来看&#xff0c;iPhone 17 Air本质上是Plus的替代品&#xff0c;主要是在维持“大屏”这一卖点的同时&#xff0c;增加了“轻薄”属性&#xff…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...