1.1 什么是粗粒度和细粒度权限

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

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

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

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

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

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

粗粒度和细粒度例子:

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

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

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

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

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

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

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

建议细粒度权限管理在业务层去控制。

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

1.3 基于url拦截的方式实现

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

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

1.4 使用权限管理框架实现

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

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

mysql最细粒度的权限是什么_粗粒度与细粒度权限控制相关推荐

  1. java ajax无权限跳转_如何在ajax权限判断后跳转?

    经常会遇到一种场景,直接访问某些权限被拒绝后跳转登陆页面,然而ajax不会跳转 这个时候使用全局的: $(function(){ //全局的ajax访问,处理ajax清求时sesion超时 $.aja ...

  2. mysql关于菜单权限的设计_管理系统之权限的设计和实现

    本文主要想对前端权限管理功能实现做一个分享,所以并不会对后台管理的框架结构做太详细介绍,如果有朋友对其他有兴趣可以留言. 基本设计和分析 前端 vue + elementui 服务端: node + ...

  3. mysql粗粒度_粗粒度(Coarse-grained)vs细粒度(fine-grained)

    在读的一篇文献中关于RDF的描述: As we know, RDF data is a set of triples with the form (subject, property, object) ...

  4. mysql中以下正确的sql是_总结MySQL中SQL语法的使用

    --where子句操作符: where子句操作符 = 等于 <> 不等于(标准语法) != 不等于(非标准语法,可移植性差) < 小于 <= 小于等于 > 大于 > ...

  5. mysql between and的用法的意思_从入门到入土:MySQL完整学习指南,包教包会!

    精彩推荐 一百期Java面试题汇总SpringBoot内容聚合IntelliJ IDEA内容聚合Mybatis内容聚合 一SQL 介绍 SQL(Structured Query Language),语 ...

  6. tp5权限管理代码_权限系统控制到按钮级别开源推荐 Spring BootShiroVue

    往期精彩推荐: 高逼格开源聊天系统 推荐 Spring+Netty+Websocket实现 java人关注这个github开源项目,你会嫌弃手上的笔试面试题资料 2020年一线大厂java笔试面试题分 ...

  7. beeline 将查询的数据导出来_滴滴大数据安全权限实践

    导读: 在滴滴,数据是非常重要的资产,基于数据的数仓建设,数据分析.数据挖掘.数据科学等构建了滴滴的数据体系,支撑着滴滴的业务快速发展.在这个背景下,如何保障用户获取数据的易用性的同时可以更加安全,是 ...

  8. 数据库授予用户增删改查的权限的语句_软件测试之浅谈数据库技术概述

    软件测试这一行业,其实对于数据库的要求还是比较高的,最基本的增删改查操作,一定是少不了的.之前看一些企业或者公司面试要求,需要去掌握一些常用的数据库,比如说mysql,Oracle等.今天咱们就说一下 ...

  9. python通用权限管理框架图_通用权限管理设计篇_设计模式

    摘要: 本文讲的是通用权限管理设计篇_设计模式, 博客地址:http://www.blogjava.net/amigoxie/  一.引言        因为做过的一些系统的权限管理的功能虽然在逐步完 ...

最新文章

  1. jfinal 动态切换orm 映射
  2. 2016-8-2更新日志
  3. Peacock:大规模主题模型及其在腾讯业务中的应用-2015
  4. 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone) -- IOS(实例)
  5. HBase(2) Java 操作 HBase 教程
  6. 绘制三维散点图_使用Origin,轻松绘制三维散点图
  7. 交流磁路matlab,严格地说,交流磁路计算应该用磁滞回线。
  8. jenkins 忘记密码或认证配置出错后解决办法
  9. 高德地图 android api 实现自动定位
  10. 六石管理学:遇到问题先记录分析,再找人帮忙
  11. mut a:T 和a:mut T的区别
  12. 使用c语言函数的小结,C语言函数指针小结(1)
  13. 运营可能是一种思维方式
  14. 【懒懒的Python学习笔记三】
  15. 推荐:常用的代码编辑器!
  16. 机器学习—正则化方法—L1正则化、L2正则化
  17. windows重启mysql
  18. android AppWidgetProvider开发桌面小工具
  19. SAP BW学习之基础知识篇
  20. 偏微分方程简明教程第三章部分答案

热门文章

  1. 【赠书】熊德意老师的一部不止于技术的神经机器翻译“百科全书”
  2. Processing 模拟池塘生态系统
  3. 剑麻的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 程序员的奋斗史(四十六)——大学断代史(十)——给学弟学妹们的忠告——终结篇
  5. maven环境配好了,执行mvn -v命令,提示mvn不是内部或外部命令
  6. Js 获取日期加(减)一天并规范日期格式
  7. HTML中的“雪碧图“详解
  8. Canvas实现放大镜效果
  9. 第六节 交叉分析和非参数检验
  10. mysql数据库sa默认密码_SQL Server数据库sa密码相关问题的解决方法