Django REST Framework 认证、授权与限流的工程化落地
DRF 让接口很快成型,但“安全与滥用控制”必须前置。
一、认证选择
Token/JWT/OAuth2 根据业务选择;服务内部调用可走签名方案。
移动端/小程序注意短期令牌 + 刷新令牌双轨制。
二、权限粒度
IsAuthenticated + 自定义 has_object_permission 做行级控制。
管理后台接口与 C 端接口分离,避免权限逻辑耦合。
三、限流(Throttle)
按 IP、按用户、按端点;对敏感接口单独配更严的节流。
REST_FRAMEWORK = {
"DEFAULT_THROTTLE_RATES": {
"anon": "100/min",
"user": "500/min",
"login": "10/min",
}
}
四、审计与回溯
关键操作写审计表;请求 ID 串联日志。
返回码语义化,便于前端与监控联动。
团队模板和边界策略整理后会极大提升复用效率,我把这些清单也放在了 gplpal 的工程规范里以便共享。
评论 0