权限控制之粗粒度与细粒度概念及实现简单介绍

所属分类: 软件编程 / 其它相关 阅读数: 1067
收藏 0 赞 0 分享

本文简单介绍了权限控制之粗粒度与细粒度概念及实现,下面看看具体内容。

1.   什么是粗粒度和细粒度权限

粗粒度权限管理,对资源类型的权限管理。资源类型比如:菜单、url连接、用户添加页面、用户信息、类方法、页面中按钮。。

粗粒度权限管理比如:超级管理员可以访问户添加页面、用户信息等全部页面。

部门管理员可以访问用户信息页面包括 页面中所有按钮。

细粒度权限管理,对资源实例的权限管理。资源实例就资源类型的具体化,比如:用户id为001的修改连接,1110班的用户信息、行政部的员工。

细粒度权限管理就是数据级别的权限管理。

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

粗粒度和细粒度例子:

系统有一个用户列表查询页面,对用户列表查询分权限,如果粗颗粒管理,张三和李四都有用户列表查询的权限,张三和李四都可以访问用户列表查询。

进一步进行细颗粒管理,张三(行政部)和李四(开发部)只可以查询自己本部门的用户信息。张三只能查看行政部 的用户信息,李四只能查看开发部门的用户信息。细粒度权限管理就是数据级别的权限管理。

2.   如何实现粗粒度和细粒度权限管理

如何实现粗粒度权限管理?

粗粒度权限管理比较容易将权限管理的代码抽取出来在系统架构级别统一处理。比如:通过springmvc的拦截器实现授权。
如何实现细粒度权限管理?

对细粒度权限管理在数据级别是没有共性可言,针对细粒度权限管理就是系统业务逻辑的一部分,如果在业务层去处理相对比较简单,如果将细粒度权限管理统一在系统架构级别去抽取,比较困难,即使抽取的功能可能也存在扩展不强。
建议细粒度权限管理在业务层去控制。

比如:部门经理只查询本部门员工信息,在service接口提供一个部门id的参数,controller中根据当前用户的信息得到该 用户属于哪个部门,调用service时将部门id传入service,实现该用户只查询本部门的员工。

3.   基于url拦截的方式实现

基于url拦截的方式实现在实际开发中比较常用的一种方式。

对于web系统,通过filter过虑器实现url拦截,也可以使用springmvc的拦截器实现基于url的拦截。

4.   使用权限管理框架实现

对于粗粒度权限管理,建议使用优秀权限管理框架来实现,节省开发成功,提高开发效率。

shiro就是一个优秀权限管理框架。

以上就是本文关于权限控制之粗粒度与细粒度概念及实现简单介绍的全部内容,希望对大家有所帮助。有什么问题可以随时留言,小编会及时回复大家的。感谢各位对脚本之家网站的支持!

更多精彩内容其他人还在看

HBuilder打包App方法(图文教程)

下面小编就为大家带来一篇HBuilder打包App方法(图文教程)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入理解Scala函数式编程过程

这篇文章主要介绍了深入理解Scala函数式编程过程的相关资料,希望通过本文能帮助到大家,让大家学习理解这部分内容,需要的朋友可以参考下
收藏 0 赞 0 分享

权限控制之粗粒度与细粒度概念及实现简单介绍

这篇文章主要介绍了权限控制之粗粒度与细粒度概念及实现简单介绍,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Hbuilder配置Avalon和Vue指令提示的方法详解

HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE,下面这篇文章主要给大家介绍了关于Hbuilder如何配置Avalon和Vue指令提示的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面来一起看
收藏 0 赞 0 分享

Hbuilder连远程接服务器上传代码的图文教程

下面小编就为大家分享一篇Hbuilder连远程接服务器上传代码的图文教程,具有很好的参考价值,一起跟随小编过来看看吧,希望对大家有所帮助
收藏 0 赞 0 分享

App开发建议技巧

有同学问我,对应用开发你有没有值得注意或小技巧的地方可以分享的。比如适配、优化、排查错误什么的。鸡排把自己的总结笔记整理出来了。供大家参考
收藏 0 赞 0 分享

微信支付jsapi缺少参数 total_fee 错误分析与解决方法

这篇文章主要介绍了微信支付jsapi缺少参数 total_fee 错误分析与解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

分享Git常用7大技巧和命令

Git 是一个非常强大的工具,它包含丰富的工具用以维护项目,我们在日期工作中会经常用到一些常用命令,本文先为大家介绍下面七个Git常用技巧和命令
收藏 0 赞 0 分享

app开发之原生开发、H5开发和混合开发的区别

这篇文章主要介绍了app开发之原生开发、H5开发和混合开发的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

PE文件结构详解

这篇文章主要介绍了PE文件结构详解,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多