点点网站开发技术分享

记录个人日常开发笔记与技巧

上篇(权限模型全解析(上):别再写 if user.role == "admin" 了,ACL、RBAC四层与ABAC一次讲透)讲透了权限模型的理论:从 ACL 到 RBAC0/1/2/3,再到 ABAC 属性鉴权。但懂模型不等于能落地——表怎么设计?按钮怎么控?多租户怎么隔离?缓存怎么失效? 本文是下篇,全部用 Python(FastAPI 为主、Django 对比)给出工程级答案。

标签:RBAC、ABAC、ACL、权限模型、按钮级权限、数据级权限、多租户、PBAC

注:本文为下篇,建议先读上篇建立模型概念。

阅读全文 »

小 A 给后台系统做权限管理,第一版直接用「用户—权限」两张表:用户表里存个 role 字段,代码里到处写 if user.role == "admin"。上线三个月,角色越加越多:运营、客服、财务、外协……每加一个角色,就得改一堆 if 判断。更糟的是「运营组长能看本组数据、运营专员只能看自己数据」这种需求,role 字段根本表达不了。

小 A 这才意识到,权限不是「加个字段」的事,而是一套要专门设计的模型——RBAC、ABAC 这些名词背后,是几十年沉淀下来的权限管理方法论。

标签:RBAC、ABAC、ACL、权限模型、按钮级权限、数据级权限、多租户、PBAC

注:本文为上篇,下篇讲工程落地(五张表、按钮级权限、多租户隔离、PBAC 策略引擎)。全文代码以 FastAPI + SQLAlchemy 为主,关键处附 Django 写法对比。

阅读全文 »

网络请求失败、数据库连接闪断、第三方接口 5xx、消息队列抖动……只要你的程序会调用别人,就逃不开两个问题:“要不要重试” 和 “最多等多久”。最简单的”立刻重试”往往变成灾难:所有失败请求在同一秒集体撞回去,把服务端打得更死;而完全不设超时的调用,会在对方挂掉时把你的线程/协程无限期挂住。本文用两段不到 100 行的 Python 代码,讲透”指数退避重试”与”超时控制”这对黄金搭档——为什么退避比固定间隔聪明,超时该怎么兜底,怎么组合使用,以及一个容易被忽略的坑:重试让用户等更久,还可能把网关(nginx)等到超时。

阅读全文 »

你有没有遇到过这种情况:AI 帮你写了个功能,结果出来一大堆代码,看着挺”专业”,但总觉得哪里不对劲?明明一个函数能搞定的事,它给你整了三个文件、五个类、两个设计模式?

Ponytail 就是来解决这个问题的。它是一套让 AI 像”懒惰的高级开发”一样写代码的行为规则集——不是真的懒,而是聪明地偷懒。

阅读全文 »

2025 年是 AI 编程工具的爆发之年。从 Cursor、Claude Code 到 Aider,开发者们从未有过如此多的选择。但一个尴尬的现实是:很多人在用 AI 写代码,却很少人能写得好。本文要介绍的 Superpowers,正是为了解决这个”从能用到好用”的最后一公里问题。

阅读全文 »
0%