身份、签名与安全校验

已核对的源码入口

  • config/interceptor/InterceptorConfig.java
  • config/interceptor/TokenInterceptor.java
  • config/filter/SignFilter.java
  • config/BaseController.java

路径相对于 coinex-app/src/main/java/com/exch/app。

全局配置与例外

InterceptorConfig 注册 TokenInterceptor,配置覆盖 /**,同时明确排除若干路由;TokenInterceptor 内部还有心跳等放行和验签、Token 读取相关分支。因此不能简单写成“所有请求都必须登录并验签”。应以注册规则、方法分支和业务方法共同判断每个入口。

BaseController 有 getCurrentLoginUser 等公共能力,但公共基类存在不代表所有子方法都自动执行同样的业务权限检查。

SignFilter 的实际边界

已读取的 doFilter 会按 Content-Type 包装请求并继续过滤链,不能仅凭类名把它等同于完整验签实现。实际验签条件、排除项和参数处理需继续沿拦截器及其调用核对。

身份与业务权限分别验证

有效 Token 不直接证明用户可以提现、修改他人资料或操作指定商户。实际业务还需核对用户状态、商户范围、交易密码及适用验证码;见用户中心安全校验。外部回调通常有不同身份模型,不能照搬普通用户登录规则。

验证场景

缺失、过期或错误 Token,签名缺失与参数变化,排除路径边界,错误用户/商户,以及日志中的敏感参数。本文不公开签名密钥或会话凭证,也不声称已经完成渗透与全路径安全测试。