首页 > 其他分享 >第38篇 net8接口调试方式

第38篇 net8接口调试方式

时间:2024-10-20 18:58:37浏览次数:1  
标签:UserName 38 UserCode new token user net8 ExpireSeconds 调试

.net提供了内置的接口调试方式

1.新建.net core web api控制台应用程序

2.封装好jwt验证机制

token令牌验证机制

  /// <summary>
  /// 登录
  /// </summary>
  /// <param name="request"></param>
  /// <returns></returns>
  /// <exception cref="NotImplementedException"></exception>
  public async Task<UserResponse> LoginAsync(UserInfoRequest request)
  {
	  UserResponse userResponse = null;
	  UserInfoVo user = await _userRepository.GetUserInfoByUserCodeAsync(request.UserCode);
	  if (user == null)
	  {
		  throw new Exception("用户名不存在");
	  }
	  if (user.Status == -1)
	  {
		  throw new Exception("账户被锁定");
	  }
	  if (user.UserPassword != AesHelper.Encrypt(request.UserPassword))
	  {
		  throw new Exception("用户名或密码不正确");
	  }
	  //判断redis里是否已经存在当前患者
	  CurrentUser currentUser = await _userRepository.GetCurrentUserAsync(user.UserCode);
	  //如果已经存在,并且token没有过期,则不用生成新的token,直接将redis里的进行返回
	  if (currentUser != null && DateTime.Now < currentUser.ExpireTime)
	  {
		  return currentUser.Adapt<UserResponse>();
	  }
	  //如果不存在或者token过期,则生成新的token
	  SsoUser ssoUser = new SsoUser()
	  {
		  UserCode = user.UserCode,
		  UserName = user.UserName,
	  };
	  String token = await _jwtService.BuildToken(ssoUser);
	  await _userRepository.DelCurrentUserAsync(ssoUser.UserCode);
	  currentUser = new CurrentUser()
	  {
		  UserCode = ssoUser.UserCode,
		  UserName = user.UserName,
		  Token = token,
		  ExpireSeconds = _jwtConfig.ExpireSeconds,
		  ExpireTime = DateTime.Now.AddSeconds(_jwtConfig.ExpireSeconds)
	  };
	  await _userRepository.SetCurrentUserAsync(currentUser, _jwtConfig.ExpireSeconds);
	  userResponse = new UserResponse()
	  {
		  Token = token,
		  UserCode = user.UserCode,
		  UserName = user.UserName,
		  ExpireSeconds = _jwtConfig.ExpireSeconds,
	  };
	  return userResponse;
	  }

3.调试

3.1 启动应用程序,调佣接口

HttpGet方式


调用内置接口调试方式

外部接口调用工具:

HttpPost方式

外部接口调用工具:
请求body内容

返回结果

标签:UserName,38,UserCode,new,token,user,net8,ExpireSeconds,调试
From: https://www.cnblogs.com/chenshibao/p/18487583

相关文章

  • 微信小程序毕业设计-基于springboot+协同过滤推荐算法的成都美食分享系统设计和实现,基
    博主介绍:✌️码农一枚,专注于大学生项目实战开发、讲解和毕业......
  • unity .net8 suppot comming
    Helloeveryone,大家好,Withthesummerholidaysuponus,It’sbeenawhilesincemylastupdate,soIwantedtosharesomeprogressonour.NETModernizationeffort.暑假即将来临,自从我上次更新以来已经有一段时间了,所以我想分享我们的.NET现代化工作的一些进展。......
  • 1384. 按年度列出销售总额
    力扣题目跳转(1384.按年度列出销售总额-力扣(LeetCode)) Product 表:+---------------+---------+|ColumnName|Type|+---------------+---------+|product_id|int||product_name|varchar|+---------------+---------+product_id是这张表的......
  • 基于x86_64汇编语言简单教程5: 寻址模式与gdb调试
    目录寻址模式gdb调试示例文件打断点办法1:给函数名称和行号打上断点办法2:在地址上打断点打印变量layout命令打印十六进制(特殊)countformatsize再次介绍mov寻址模式我们无非就是频繁的跟数据自己打交道,那么问题来了,我们可以如何找到这些数据呢?这就是我们这篇教......
  • 基于SpringBoot的甜品店管理系统(源码+LW+调试文档+讲解)
    一、背景介绍在现代社会,甜品店越来越受到人们的喜爱,成为人们休闲、聚会的好去处。然而,传统的甜品店管理方式往往存在效率低下、信息不透明、服务质量难以保证等问题。为了提高甜品店的管理水平和服务质量,开发一个基于SpringBoot+Vue的Web甜品店管理系统具有重要的现......
  • 基于微信小程序的社区订餐系统(源码+LW+调试文档+讲解)
    一、背景介绍随着生活节奏的加快和人们对便捷生活的追求,社区订餐服务的需求日益增长。传统的订餐方式存在诸多不便,如电话订餐容易出错、沟通效率低,线下订餐需要花费较多时间和精力。为了满足社区居民的订餐需求,提高订餐效率和服务质量,开发基于SpringBoot+Vue的X社区......
  • springboot基于java的OA管理系统(源码+文档+调试+vue+前后端分离)
    收藏关注不迷路!!......
  • 企业it资产管理系统(Python+lw+系统源码 +调试)
    摘 要网络的广泛应用给生活带来了十分的便利。所以把企业it资产管理与现在网络相结合,利用Python技术建设企业it资产管理系统,实现企业it资产的信息化。则对于进一步提高企业it资产管理发展,丰富企业it资产管理经验能起到不少的促进作用。企业it资产管理系统能够通过互联网得......
  • NBA球员分析与可视化和信息管理系统(Python+Django+lw+系统源码 +调试)
    摘 要近年来,科技飞速发展,在经济全球化的背景之下,大数据将进一步提高社会综合发展的效率和速度,大数据技术也会涉及到各个领域,而爬虫实现网站数据可视化在网站数据可视化背景下有着无法忽视的作用。管理信息系统的开发是一个不断优化的过程,随着网络大数据时代的到来,管理信息......
  • 基于php的大学生运动会管理系统的设计与实现(源码+LW+调试文档)
    目录:程序功能截图:程序部分代码参考:数据库sql:程序技术介绍:后端springboot介绍:mysql介绍:程序论文:​选择我的理由:程序获取:......