1.基于 Token 的身份验证方法
使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
- 客户端使用用户名跟密码请求登录
- 服务端收到请求,去验证用户名与密码
- 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
- 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
- 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
- 服务端收到请求,然后去验证客户端请求里面带着的 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生成 |