欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > 学习ASP.NET Core的身份认证(基于JwtBearer的身份认证8)

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证8)

2025/6/17 3:05:26 来源:https://blog.csdn.net/gc_2299/article/details/145248145  浏览:    关键词:学习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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词