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