我一直在阅读 documentation并且提到了5个基本权限:
READ, WRITE, CREATE, DELETE, and ADMINISTRATION
前四个非常明显,我认为
ADMINISTRATION
表示所有其他四个(以某种层次结构的方式),但 according this this other question事实并非如此。那么,
ADMINISTRATION
是什么意思?许可究竟是什么意思?
最佳答案
他们没有任何意义。它们是包裹在小的权限对象中的字符串,但最终,它们是数字的占位符; 1, 2, 4, 8, 16, ...
从逻辑上讲,您授予 ID 为 12347 的用户对 ID 为 28543867 的 Book 的 WRITE 和 READ 权限,但您实际上授予的是权限 1 和 2。2 并不像您想象的那样自动暗示 1,因为这仅在我们的大脑中才有意义 - 您如果您无法查看正在编辑的内容,则无法编辑。 ADMIN 权限应该意味着 READ、WRITE、DELETE 等,但事实并非如此,因为对于 Spring Security,它不是管理员权限,它只有 16 个。
这些权限只是默认设置,但您可以对其进行扩展、删除一些不需要的权限、将一些权限替换为具有不同名称的权限,或者忽略整个设置并从头开始重新定义您的权限。只要您所做的更改与 API 一致,并且每个权限都有一个唯一的值,即 2 的幂,那么您就可以开始授予权限 SLEEP_LATE(8)、DRIVE_20_OVER_THE_SPEED_LIMIT_AFTER_MIDNIGHT(32) 等。
关于spring - Spring Security ACL 插件中的每个权限是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275835/