场景

登录、权限、加密、脱敏和校验若由各业务自行实现,规则会不一致,也容易出现前端校验被绕过或敏感数据进入日志。

原理

认证回答“你是谁”,授权回答“你能做什么”;Session、JWT 与 SSO 解决身份状态传播;RBAC、ABAC 决定资源访问;加密保护机密性,哈希用于完整性或口令验证,脱敏减少展示暴露,校验守住输入边界。

设计步骤

先盘点主体、资源和敏感数据;划分浏览器、网关、服务与数据库的信任边界;选择身份载体并定义撤销机制;建立最小权限模型;对传输、存储、日志分别制定保护措施;最后做威胁建模和审计演练。

权衡

集中安全能力统一治理,却可能成为瓶颈和单点;JWT 易扩展但撤销复杂,Session 易控制但需要共享状态。权限粒度越细管理成本越高,脱敏越强则排障和运营可用性越低。

实践建议

默认拒绝并显式授权,服务端永远重新校验。密钥与代码分离并定期轮换;日志不记录令牌、密码和完整个人信息;高风险操作二次认证。把失败登录、越权拒绝、密钥异常和脱敏命中纳入监控,安全才是可运行系统而非文档。

落地检查

上线前还应做一次桌面演练:准备正常、边界、超时、重复与恶意输入,确认系统的返回、日志和指标彼此对应;在预发布环境模拟依赖不可用、进程重启和配置回滚,验证降级路径不会放大故障。上线时采用小流量观察,提前定义停止条件与负责人。稳定后复盘真实数据,删除没有收益的复杂度,并把新发现的约束补进测试、监控和设计记录,使方案能够随业务持续演进,而不是停留在一次性评审结论。