Nginx 鉴权网关
统一入口解析 Token,调用 Redis 校验会话,按路由与权限规则放行或拒绝。
- 提取 Authorization / Cookie
- Lua / 模块查询 Redis
- 失败返回 401 / 403
梦想之家
分享一套网关鉴权、会话缓存与权限判定协同工作的系统架构实现方案,让鉴权前置、业务更轻。
把 Token 校验与权限拦截下沉到 Nginx + Redis,业务服务专注领域逻辑。
本方案以 Nginx 作为统一入口与鉴权网关,以 Redis 存储 Token 会话与权限快照。 请求到达业务服务前完成身份校验与权限判定,未授权流量在网关层直接拦截,降低后端重复鉴权成本,便于水平扩展与统一管控。
三层协同:网关拦截、会话缓存、权限判定,职责清晰可替换。
统一入口解析 Token,调用 Redis 校验会话,按路由与权限规则放行或拒绝。
集中存放 Token、过期时间、用户标识与权限缓存,支持快速读写与主动失效。
将角色、资源、动作沉淀为可缓存的权限快照,网关按路径与方法完成细粒度校验。
从登录签发到网关校验,再到业务转发的完整链路。
认证服务校验账号后生成 Token,将会话与权限快照写入 Redis,并设置合理 TTL。
客户端在 Header 或 Cookie 中携带 Token,访问受保护资源时统一经过 Nginx。
Nginx 提取 Token,查询 Redis 是否存在有效会话;无效或过期则直接拒绝。
比对路由所需权限与会话权限集;通过后注入用户标识头,转发至上游业务服务。
落地时可优先把握存储结构、网关校验与权限刷新三条主线。
auth:token:{token} → userId、roles、expireauth:perm:{userId} → 权限编码集合auth:user:tokens:{userId} → 多端会话索引