请求校验 Token 源码解析

请求校验 Token 源码解析

PIGCLOUD

📄 请求校验 token 源码解析 _ PIGCLOUD

](https://www.pig4cloud.com/)

产品

商业版

生态🔥

📄 请求校验 token 源码解析

pigcloud

本文档适配最新的 v4.6+版本 基于 spring authorization server 的版本

👉🏻 旧版本 请求校验 token 源码解析

# CheckToken 的目的

当用户携带 token 请求资源服务器的资源时,Spring Security 拦截 token,进行 token 和 userdetails 匹配过程,把无状态的 token 转化成具体用户

# ①Filter 拦截请求进行鉴权

BearerTokenAuthenticationFilter 拦截所有资源服务器的请求,

  • 解析 header 或者 参数中的 access_token 字段
  • 根据 access_token 构造出来 BearerTokenAuthenticationToken 认证对象

# ② 匹配自省鉴权处理器

# ③ 调用自省拦截器实现处理

  • PigRedisOAuth2AuthorizationService 通过 token value 查询 认证中心下发令牌时 存储的用户认证信息
  • 根据用户认证信息 再次调用 PigUserDetailsService 查询数据库中的最新数据

避免 redis 存储旧数据,实现权限实时更新

# ④ 接口进行权限判断

hasPermission 权限判断

1
2
3
4
5
6
7
8
9
@GetMapping("/export")
@PreAuthorize("@pms.hasPermission('sys_user_import_export')")
public List<UserExcelVO> export(UserDTO userDTO) {
}




Copied!

# ⑤ pigx 权限模型

📄 登录 token 生成源码解析 📄 HTTP客户端获取 token

  • 标题: 请求校验 Token 源码解析
  • 作者: PIGCLOUD
  • 创建于 : 2024-01-01 00:00:00
  • 更新于 : 2025-09-22 14:27:28
  • 链接: https://anime-blog.52lin.site/📄 请求校验 token 源码解析 _ PIGCLOUD/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。