最近项目中需要设计一个权限系统,收集了一下资料,权限系统主要有两种技术:ACL(Access Control List)和RBAC(Role-Based Access Control)。前者是将用户直接和权限关联,并通过Group来组织这些用户,windows 系统的用户权限就应该属于这一种(有待确认)。后者通过角色将用户和权限隔离开来,对角色赋予权限,而一个用户就一种角色的一个实例。
ACL的优点是能够直接针对用户进行权限设置,权限设置较为灵活,每个用户都可以完全不同,但是这也增加了管理员设置权限的复杂性。RBAC更便于用户的管理。对于两者的详述和比较在不在此啰嗦,网上有很多相关资料。
下面就说我做的事情。
设计需求:
1. 以项目为单位的权限控制;
2. 项目分为不同的小组&#x