授权实现的流程,粗粒度和细粒度权限

(1)、什么是粗颗粒和细颗粒权限?
对资源类型的管理称为粗颗粒度权限控制,即只控制到菜单、按钮、方法,粗粒度的例子比如:用户具有用
户管理的权限,具有导出订单明细的权限。对资源实例的控制称为细颗粒度权限管理,即控制到数据级别的权限,
比如:用户只允许修改本部门的员工信息,用户只允许导出自己创建的订单明细。
总结:
粗颗粒权限:针对 url 链接的控制。
细颗粒权限:针对数据级别的控制。

比如:查询用户权限。
卫生局可以查询所有用户。
卫生室可以查询本单位的用户。
通常在 service 中编程实现。
(2)、粗颗粒和细颗粒如何授权?
对于粗颗粒度的授权可以很容易做系统架构级别的功能,即系统功能操作使用统一的粗颗粒度的权限管理。
对于细颗粒度的授权不建议做成系统架构级别的功能,因为对数据级别的控制是系统的业务需求,随着业务需求
的变更业务功能变化的可能性很大,建议对数据级别的权限控制在业务层个性化开发,比如:用户只允许修改自己创
建的商品信息可以在 service 接口添加校验实现,service 接口需要传入当前操作人的标识,与商品信息创建人标识对
比,不一致则不允许修改商品信息。
粗颗粒权限:可以使用过虑器统一拦截 url。
细颗粒权限:在 service 中控制,在程序级别来控制,个性化 编程。

你可能感兴趣的:(java)