美文网首页
Shiro2-权限管理解决方案

Shiro2-权限管理解决方案

作者: 我相信你爱过gg | 来源:发表于2017-05-15 21:55 被阅读208次

    什么是粗粒度和细粒度权限控制

    粗粒度权限管理: 对资源类型的权限管理. 比如:菜单 URL链接 用户添加页面 用户信息 类方法 页面中的按钮等.

    细粒度权限管理: 对资源实例的权限管理. 资源实例就是资源类型的具体化 . 比如:用户ID为001的修改链接 1110班的用户信息 行政部的员工. 这些都是细化成了数据.
    我们也可以理解为,细粒度权限管理就是数据级别的权限管理.

    我们在举一个例子:
    粗颗粒度权限管理:
    比如现在有两个权限一个是超级管理员部门管理员
    超级管理员可以访问系统的所有资源,例如我们上面举得 用户添加页面和用户信息页面.
    而部门管理员只能访问系统的用户信息页面.

    细颗粒度权限管理:
    部门经理只可以访问部门的员工信息,用户只可以看到自己的菜单,大区经理只能查看本辖区的销售订单.

    如何实现粗颗粒都和细颗粒度权限.

    实现粗粒度权限管理的方式
    我们可以将权限管理的代码抽取出来在系统级别统一处理.比如:通过SpringMVC的拦截器实现授权.

    实现细粒度权限管理的方式
    针对细颗粒度的权限管理就是系统业务逻辑的一部分.比如:部门经理只能查询本部门员工信息,在service 接口提供一个部门id 的参数, controller 中根据当前用户的信息得到该用户属于哪个部门,嗲用service时将部门id传入service,实现该用户只查询部门的员工.

    总结出来就是一句话:
    粗颗粒针对资源,细颗粒针对数据.

    相关文章

      网友评论

          本文标题:Shiro2-权限管理解决方案

          本文链接:https://www.haomeiwen.com/subject/qgixxxtx.html