基于Token的身份认证方法

本文介绍了基于Token的身份验证方法,阐述了其工作流程,包括客户端登录获取Token,服务端验证Token以及使用Token进行资源请求的过程。同时,提供了代码示例展示如何在用户登录成功后存储和验证Token,并指出在无状态RESTful API和多终端消费场景下,Token认证的优势,如安全性及避免依赖Cookie和Session。
摘要由CSDN通过智能技术生成

1.基于 Token 的身份验证方法

 使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

  1. 客户端使用用户名跟密码请求登录
  2. 服务端收到请求,去验证用户名与密码
  3. 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
  4. 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
  5. 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
  6. 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

2.代码示例

2.1、用户登录成功后,以token作为key将用户信息放到redis中并返回,返回的用户信息中也包括token。

UserDTO userDTO = new UserDTO();
userDTO.setCode(loginUser.getCode());
userDTO.setName(loginUser.getName());
userDTO.setDeptCode(loginUser.getDeptCode());
userDTO.setDeptName(loginUser.getDeptName());
userDTO.setRoles(roles); 
userDTO.setAuthoritys(authoritys);
// redis中存放的key
token = CodeUtil.getCode();//UUID生成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值