学习ASP.NET Core的身份认证(基于JwtBearer的身份认证8)
为进一步测试通过请求头传递token进行身份验证,在main.htm中增加layui的数据表格组件,并调用后台服务分页显示数据,后台分页查询数据接口如下所示(测试时,直接将数据写死到代码中,没有查询数据库),这里需注意返回的状态码需为0,其它值返回到前台都被认为是调用异常。
[Authorize]
[HttpGet]
public async Task<ApiResult> GetDataByPage(int page,int limit)
{ApiResult result = new ApiResult();result.StatusCode = 0;List<User> users = new List<User>();if(page==1){users.Add(new User { Name="张三",Age=12,Sex="男"});users.Add(new User { Name = "李四", Age = 32, Sex = "男" });users.Add(new User { Name = "王五", Age = 22, Sex = "男" });}else{users.Add(new User { Name = "李磊", Age = 12, Sex = "男" });users.Add(new User { Name = "韩梅梅", Age = 32, Sex = "女" });users.Add(new User { Name = "王巧", Age = 22, Sex = "男" });users.Add(new User { Name = "柳桥", Age = 45, Sex = "男" });}Users data = new Users();data.Data = users;data.Count = 20;result.Data = data;return result;
}
main.html文件的JavaScript代码中使用table.render函数渲染表格数据,需要注意以下两点:
1)render函数中通过设置headers属性添加并传递token,这点在layui的官网文档中没有写,百度相关内容才查到的,具体介绍请见参考文献1;
2)后台数据查询接口返回数据格式与table模块的数据格式不一致,需设置数据映射,否则无法显示返回的数据集合。
主要的JavaScript代码设置如下所示:
table.render({elem: '#data',height: 315,url: 'https://localhost:7051/Login/GetDataByPage' //数据接口,headers: {'Authorization': 'Bearer '+sessionStorage.getItem("token")},parseData: function(res){ // 数据映射处理return {"code": res.statusCode,"msg": res.msg,"count": res.data.count,"data": res.data.data };} ,page: true ,cols: [[ {field: 'name', title: '用户名', width:80},{field: 'sex', title: '性别', width:80, sort: true},{field: 'age', title: '年龄', width:80}]]});
身份认证成功后,分页显示数据的截图如下所示:


未通过身份认证时,调用后台数据服务则直接显示请求异常,如下图所示:

后续文章准备增加数据库查询,替换现在用户身份认证及数据查询都是写死到代码中的情况,同时搜索并查询基于Cookie传递token的实现方式(目前没找到多少有用的内容)。
参考文献:
[1]https://huaweicloud.csdn.net/63a56328b878a54545946043.html
[2]https://blog.csdn.net/yufengaotian/article/details/82190933
相关文章:
学习ASP.NET Core的身份认证(基于JwtBearer的身份认证8)
为进一步测试通过请求头传递token进行身份验证,在main.htm中增加layui的数据表格组件,并调用后台服务分页显示数据,后台分页查询数据接口如下所示(测试时,直接将数据写死到代码中,没有查询数据库࿰…...
PyTorch使用教程(6)一文讲清楚torch.nn和torch.nn.functional的区别
torch.nn 和 torch.nn.functional 在 PyTorch 中都是用于构建神经网络的重要组件,但它们在设计理念、使用方式和功能上存在一些显著的区别。以下是关于这两个模块的详细区别: 1. 继承方式与结构 torch.nn torch.nn 中的模块大多数是通过继承 torch.nn…...
React的应用级框架推荐——Next、Modern、Blitz等,快速搭建React项目
在 React 企业级应用开发中,Next.js、Modern.js 和 Blitz 是三个常见的框架,它们提供了不同的特性和功能,旨在简化开发流程并提高应用的性能和扩展性。以下是它们的详解与比较: Next、Modern、Blitz 1. Next.js Next.js 是由 Ve…...
基于GRU实现股价多变量时间序列预测(PyTorch版)
前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对抗网络、门控循环单元、长短期记…...
Java创建对象有几种方式?
大家好,我是锋哥。今天分享关于【Java创建对象有几种方式?】面试题。希望对大家有帮助; Java创建对象有几种方式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Java中,创建对象主要有以下几种方式&…...
Vue3初学之Element Plus Dialog对话框,Message组件,MessageBox组件
Dialog的使用: 控制弹窗的显示和隐藏 <template><div><el-button click"dialogVisible true">打开弹窗</el-button><el-dialogv-model"dialogVisible"title"提示"width"30%":before-close&qu…...
基于Python机器学习的双色球数据分析与预测
python统计分析2003-2024年所有的中奖记录,通过人工智能机器学习预测双色球,个人意见,仅供参考. 声明:双色球具有随机性,任何工具无法预测。本文章仅作为技术交流,提供学习参考。本文所涉及的代码均为python之机器学习的代码。双色球为公益事…...
微软Win10 RP 19045.5435(KB5050081)预览版发布!
系统之家1月20日最新报道,微软面向Release Preview频道的Windows Insider项目成员,发布了适用于Windows10 22H2版本的KB5050081更新,更新后系统版本号将升至19045.5435。本次更新增加了对GB18030-2022标准的支持,同时新版日历将为…...
使用 Parcel 和 NPM 脚本进行打包
使用 Parcel 和 NPM 脚本进行打包 Parcel Parcel 是一个零配置的网页应用程序打包工具,主要用于快速构建现代 JavaScript 应用。 我们可以使用npm直接安装它 npm install --save-dev parcel //这将把 Parcel 添加到 devDependencies 中,表明它是一个…...
HTML<center>标签
HTML5不支持。 <center>标签在HTML4中用于使文本居中对齐。 用什么来代替呢? 例子 居中对齐文本(使用 CSS): <html> <head> <style> h1 {text-align: center;} p {text-align: center;} div {text-a…...
LatentSync本地部署教程:基于音频精准生成唇形高度同步视频
LatentSync 是字节跳动联合北京交通大学推出的一个端到端的唇形同步框架,以下是对其的详细介绍: 一、技术基础 LatentSync 基于音频条件的潜在扩散模型,无需任何中间的 3D 表示或 2D 特征点。它利用了 Stable Diffusion 的强大生成能力&…...
ES使用笔记,聚合分组后再分页,探索性能优化问题
之前分享过一篇文档,也是关于聚合分组后再分页的具体实现,当时只想着怎么实现,没有去主要探索ES性能优化的问题, 这篇我会换一种方式,重新实现这个聚合分组后再分页的操作,并且指出能优化性能点,可能我们再使用的时候,并没有注意过的点,希望对你有帮助!大佬的话,请忽略! 上源码…...
VUE3 vite下的axios跨域
在使用 Vite 开发时,如果你的前端项目需要请求后端 API,且后端和前端不在同一个域上,可能会遇到跨域问题。跨域是指浏览器出于安全考虑,阻止了前端网页向不同源(域名、协议、端口)发送请求。 解决跨域问题…...
Mac下安装ADB环境的三种方式
参考网址: Mac下安装ADB环境的三种方式-百度开发者中心 ADB,即Android Debug Bridge,是Android开发过程中不可或缺的工具。通过ADB,开发者可以在计算机上管理设备或模拟器上的应用,提供了丰富的调试功能。然而&#…...
在Vue中,<img> 标签的 src 值
1. 直接指定 src 的值(适用于网络图片) 如果你使用的是网络图片(即图片的URL是完整的HTTP或HTTPS链接),可以直接指定 src 的值: vue 复制 <template><div><img src"https://exampl…...
Kotlin基础知识学习(三)
函数使用 基本用法 函数声明变化 如果函数是公开的,则public关键字可以省略。用fun关键字表示函数的定义。如果函数没有返回值可以不用声明。如果函数表示重载,直接在fun同一行用override修饰。函数参数格式是变量名:变量类型。函数参数允…...
渗透测试之XEE[外部实体注入]漏洞 原理 攻击手法 xml语言结构 防御手法
目录 原理 XML语言解释 什么是xml语言: 以PHP举例xml外部实体注入 XML语言结构 面试题目 如何寻找xxe漏洞 XEE漏洞修复域防御 提高版本 代码修复 php java python 手动黑名单过滤(不推荐) 一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区 原理 XXE&…...
店铺营业状态设置(day05)
Redis入门 Redis简介 Redis 是一个基于内存的 key-value 结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。 Redis是一个基于内存的 key-value 结构数据库。 主要特点: 1、基于内存存储,读写性能高 2、适合存储热点数据(热点…...
游戏引擎学习第84天
仓库:https://gitee.com/mrxiao_com/2d_game_2 我们正在试图弄清楚如何完成我们的世界构建 上周做了一些偏离计划的工作,开发了一个小型的背景位图合成工具,这个工具做得还不错,虽然是临时拼凑的,但验证了背景构建的思路。这个过…...
快手SDK接入错误处理经验总结(WebGL方案)
1、打包时提示Assets\WebGLTemplates\ks路径下未找到Index.html文件错误 处理方法:直接使用Unity默认模板下的Index.html文件即可 文件所在路径:Unity安装路径\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\WebGLTemplates\Default 参考图&a…...
HagiCode 为什么选择 Hermes 作为综合 Agent 核心一
1. 哑铃图是什么? 哑铃图(Dumbbell Plot),有时也称为DNA图或杠铃图,是一种用于比较两个相关数据点的可视化图表。 它源于人们对更有效数据比较方式的持续探索。 在传统的时间序列比较中,我们通常使用两条折…...
nuScenes 全景分割:Panoptic nuScenes 完整实现指南
nuScenes 全景分割:Panoptic nuScenes 完整实现指南 【免费下载链接】nuscenes-devkit The devkit of the nuScenes dataset. 项目地址: https://gitcode.com/gh_mirrors/nu/nuscenes-devkit Panoptic nuScenes 是 nuScenes 数据集的重要扩展,提供…...
PHP低代码表单引擎安全红线清单(XSS/CSRF/表达式注入/Schema越权共7类高危漏洞实测防御方案)
第一章:PHP低代码表单引擎安全红线总览低代码表单引擎在加速业务交付的同时,也因动态字段生成、运行时逻辑注入、元数据驱动等特性,天然放大了Web安全风险面。PHP作为主流后端语言,在此类引擎中常承担表单渲染、数据校验、流程路由…...
Stimulsoft 报告和仪表盘2026.2即将推出,来看具体详情
Stimulsoft Reports & Dashboards 2026.2 版本即将发布。本次更新将围绕报表查看器、数据源能力、参数验证以及仪表盘设计等多个方向展开,进一步增强产品在报表开发与可视化分析场景中的灵活性与智能化水平。 从 React 报表查看器,到由人工智能驱动…...
5种革命性用法:用DDrawCompat让经典游戏在现代系统上重生
5种革命性用法:用DDrawCompat让经典游戏在现代系统上重生 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDr…...
VMware 虚拟机网络问题排查与解决方案
VMware 虚拟机网络问题排查与解决方案 问题背景 在项目中时,遇到一个看似 "网络不通" 的问题:Windows 宿主机无法 ping 通虚拟机上的 VIP 地址。 症状表现: 虚拟机可以 ping 通 Windows 宿主机Windows 宿主机无法 ping 通虚拟机…...
C++模板进阶:从特化到元编程
C模板进阶详解一、模板特化全特化template <> class Vector<bool> {// 针对bool类型的特化实现 };偏特化template <typename T> class Vector<T*> {// 针对指针类型的部分特化 };二、可变参数模板template <typename... Args> void print(Args..…...
用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程
用Python的pydicom库搞定DICOM文件:从读取患者信息到三维重建的保姆级教程 医学影像数据在现代医疗诊断中扮演着至关重要的角色,而DICOM(Digital Imaging and Communications in Medicine)作为医学数字成像和通信的国际标准&#…...
智慧树自动刷课插件:5分钟告别手动刷课的终极指南
智慧树自动刷课插件:5分钟告别手动刷课的终极指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台的繁琐刷课流程而烦恼吗?智慧…...
ESLint Config Standard 与其他配置方案对比:为什么选择标准风格
ESLint Config Standard 与其他配置方案对比:为什么选择标准风格 【免费下载链接】eslint-config-standard ESLint Config for JavaScript Standard Style 项目地址: https://gitcode.com/gh_mirrors/es/eslint-config-standard ESLint Config Standard 是 J…...
