我目前正在使用 Spring Security 在我们的 Web 应用程序中实现一个安全层,更准确地说是通过实现我们自己的 PermissionEvaluator 方法来实现 hasPermission() 方法。
我想知道是否有任何命名约定/库来表示对模型对象、操作等的权限。
方法签名是 hasPermission(Object param, Object permission),它让事情变得相当开放。大多数人似乎使用一个字符串作为第二个参数,并使用一个对象或对象数组作为第一个参数,所以他们最终得到了类似 hasPermission(#object, 'edit') 的东西。
- 是否有标准的许可清单或约定?(查看、编辑、修改、创建、添加、删除、删除、打印、列表...)
- 使用字符串、数字或枚举作为权限是否更好?
- 是否有命名操作的约定(addPersonToProject、personToProjectAdd...)
- 您能否分享一些有关您用于此类角色和权限的实现的信息?