用途:该模式将会话认证(不透明令牌)与授权结合,用于 Web 应用安全。主体先凭会话 ID 完成认证,再根据其权限被授权,之后才执行操作。
主要能力:包含主体、认证执行点、验证器、会话管理器、会话 ID 生成器、授权执行点、决策器、策略提供者等组件。数据元素有 sessionId、principal、actionId、objectId、privileges。流程为:主体携带 action 与 sessionId 请求,认证执行点转交验证器,验证器向会话管理器查询 principal,认证执行点再转交授权执行点,决策器向策略提供者查询权限并判定允许或拒绝,允许则转发系统。
会话管理:主体认证后创建会话,用 CSPRNG 生成安全随机 ID,存储 sessionId→principal 映射并返回。ID 至少 64 位熵,建议 128 位以上,存储前查重。会话有闲置超时与绝对最大时长,登出或凭据变更时失效。
授权模型:策略提供者维护访问规则,常见 RBAC、ABAC、ACL,决策需同时考虑 action 与 object。必须做对象级授权,防止 IDOR,不能跳过对具体 objectId 的检查。
安全考虑:默认拒绝,除非显式允许;保护策略完整性;每次请求都检查;认证决定 WHO,授权决定 WHAT,两者都须通过。执行点在关键路径上,可能成为 DoS 目标,需限流,可考虑缓存。会话中敏感数据应加密并最小化暴露。
实施清单:安全生成会话 ID、设置超时策略、登录时换新 ID、登出失效、每请求授权检查、对象级授权、默认拒绝、策略完整性保护、执行点限流。
限制:资料未提供具体代码、安装命令、收费或平台信息。