(转)shiro权限框架详解02-权限理论介绍
http://blog.csdn.net/facekbook/article/details/54893042
权限管理解决方案
本文主要介绍权限管理的解决方法:
- 粗颗粒度和细颗粒度
- 基于url拦截
- 使用权限管理框架
粗颗粒度和细颗粒度
什么是粗颗粒度和细颗粒度
在上一文中提到粗颗粒度和细颗粒度,但是没有细讲。
对资源类型的管理称为粗颗粒度权限管理,既只控制到菜单、按钮、方法,粗颗粒度的例子比如:用户具有用户管理的权限,具有导出订单的权限。对资源实例的控制称为细颗粒度权限管理,既控制到数据级别,比如:用户只允许查看本部门员工的信息,用户只允许导出自己创建的订单。
如何实现粗颗粒度和细颗粒度
对于粗颗粒度的权限管理可以很容易做到系统架构级别的功能,即系统功能操作使用统一的粗颗粒度的权限管理。
对于细颗粒度的权限管理不建议做成系统架构级别的功能,因为对数据级别的控制是系统的业务需求,随着业务需求的改变业务功能变化的可能性很大,建议对数据级别的权限控制在业务层个性化开发,比如:用户只允许修改自己创建的商品信息,可以在service接口添加校验实现,service接口需要传入当前操作人的标识,与商品创建人的标识对比,如果不一致则拒绝修改。
基于url拦截
基于url拦截是企业中常用的权限管理方法,实现思路是:将系统操作的每个url配置在权限表中,将权限对应到角色,将角色分配给用户,用户访问系统功能通过Filter进行过滤,Filter获取用户访问的url,只要访问的url是用户分配角色中的url则放行继续访问。
流程如下图:
使用权限管理框架
对于权限管理基本上每个系统都需要使用,使用权限管理框架完成权限管理功能的开发可以节省系统开发时间,并且权限管理框架提供了完善的认证和授权功能有利于系统扩展维护,但是学习权限管理框架是需要时间成本的,所以选择一款简单高效的权限管理框架非常重要,shiro权限管理框架就是我们选择的。
(转)shiro权限框架详解02-权限理论介绍的更多相关文章
- (转)shiro权限框架详解01-权限理论介绍
http://blog.csdn.net/facekbook/article/details/54890365 权限管理 本文介绍权限管理的理论和权限管理的一些名词. 介绍权限管理 理解身份认证和授权 ...
- (转) shiro权限框架详解06-shiro与web项目整合(上)
http://blog.csdn.net/facekbook/article/details/54947730 shiro和web项目整合,实现类似真实项目的应用 本文中使用的项目架构是springM ...
- Shiro 安全框架详解二(概念+权限案例实现)
Shiro 安全框架详解二 总结内容 一.登录认证 二.Shiro 授权 1. 概念 2. 授权流程图 三.基于 ini 的授权认证案例实现 1. 实现原理图 2. 实现代码 2.1 添加 maven ...
- Shiro 安全框架详解一(概念+登录案例实现)
shiro 安全框架详细教程 总结内容 一.RBAC 的概念 二.两种常用的权限管理框架 1. Apache Shiro 2. Spring Security 3. Shiro 和 Spring Se ...
- (转)shiro权限框架详解06-shiro与web项目整合(下)
http://blog.csdn.net/facekbook/article/details/54962975 shiro和web项目整合,实现类似真实项目的应用 web项目中认证 web项目中授权 ...
- Linux用户、用户组权限管理详解 --- 02
2,用户.用户组管理操作详解: 2.1 adduser 添加用户: adduser [-u uid][-g group][-d home][-s shell] -u:直接给出userID ...
- shiro 安全框架 详解
---恢复内容开始--- Shiro 简介 简介• Apache Shiro 是 Java 的一个安全(权限)框架.• Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境, ...
- (转)shiro权限框架详解03-shiro介绍
http://blog.csdn.net/facekbook/article/details/54893740 shiro介绍 本文正式进入主题.本文将介绍如下内容: 什么是shiro 为什么需要学习 ...
- (转)shiro权限框架详解05-shiro授权
http://blog.csdn.net/facekbook/article/details/54910606 本文介绍 授权流程 授权方式 授权测试 自定义授权realm 授权流程 开始构造Secu ...
随机推荐
- router-link-active 与 router-link-exact-active 区别
我的github:swarz,欢迎给老弟我++星星 router-link-exact-active 是精确匹配规则,即只有当前点击router被匹配 router-link-active 默认是全包 ...
- 51nod1079 中国剩余定理【数论】
一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K % 2 = 1, K % 3 = 2, K % 5 = 3.符合条件的最小的K = 23. Input 第1行:1个数N表 ...
- java中的replaceAll方法注意事项
replaceAll和replace方法参数是不同的,replace的两个参数都是代表字符串,replaceAll的第一个参数是正则表达式 replaceAll中需要注意的特殊字符: \ == \\\ ...
- 不用form怎么post数据
数据传输是用户交互中最重要的环节,下面收集了几个数据传输的方法,作为记录(未测试,在使用之前需要测试,如果后面我测试了,会对已测试项进行标注) 一. 网址传递 <a href=”test.php ...
- lunix下的redis数据库操作——list列表
首先,需要先了解栈和队列的概念: 栈 先进后出:类比弹夹上的子弹,最后上进弹夹的子弹第一个使用,砌墙的板砖,后来居上 队列 先进先出:排队打饭,先到先得 创建列表: 左添加:(栈的形式添加) lp ...
- ACDream - Power Sum
先上题目: Power Sum Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) S ...
- 【ACM】hdu_zs1_1004_第二小整数_201307271529
第二小整数 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submissi ...
- 使用Windows上SourceInsight工具建立分析Linux下uboot源代码project
SourceInsight软件能够说是分析查阅大型源代码project文件的神器!界面不错.功能强大! 第一步:安装好SourceInsight后打开软件 点击上面的Project--->new ...
- js中简单操作
去空格:ss.replace(/\s/g,""); 数组: 千万不能用in操作符 in 是说存不存在这个key而不是value! var a = [66,99,77]; 66 in ...
- Windows 10彻底关闭自动更新
关键点:把流量计费开启.