接口鉴权
统一结论
- 权限模型:RBAC(菜单/按钮权限)
- 权限匹配:支持通配符(
*) - 性能策略:权限懒加载 + 缓存
接口鉴权(RBAC)
- 视图方法通过装饰器声明所需权限标识
- DRF 权限类拦截请求
- 缓存缺失时回源计算权限集并写入 Redis
核心实现:core/permissions/perms.py
精确失效(Signals)
当用户角色等权限相关数据变更时,通过 Django Signals 精准失效缓存,避免全量失效带来的抖动。
示例位置:system/signals.py
前后端协同:静默刷新
当权限变更导致 403 时,前端可基于业务错误码触发权限快照刷新(例如重新调用 /me 获取最新按钮权限标识)。
