当涉及到访问控制(授权)时,我试图理解角色和权限之间的内在权衡。
让我们从一个给定的开始:在我们的系统中,权限将是一个细粒度的访问单元(“编辑资源X”、“访问仪表板页面”等等)。角色将是1+权限的集合。用户可以拥有1+角色。所有这些关系(用户、角色、权限)都存储在数据库中,可以随时根据需要进行更改。
我所关切的是:
(1)检查访问控制角色有什么“坏处”?通过检查权限可以得到什么好处?换句话说,下面这两个片段之间有什么区别:
if(SecurityUtils.hasRole(user)) {
// Grant them access to a feature
}
// vs.
if(S