shiro 角色与权限的解读
1、为什么 shiro 有了《角色》后,还要设置《角色权限》呢?(问题)
思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是《角色》层次的控制。 举例:如果你是个老师,那么你就可以教学生数学课,但是现实呢,是个老师就能教数学课吗?体育老师、美术老师...路过;所以:角色权限就是用来指定这个角色可以做哪些操作。换句话说角色就是某些权限的集合。比如学校里面校长,老师,学生,等角色,但是他们都有不同的职业,这就是权限。如果只有角色没有权限,那角色就没有意义了。
2、代码小例子
/*** 权限认证*/ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) { //1、获取登录时输入的用户名 String loginName=(String) principalCollection.fromRealm(getName()).iterator().next(); //2、到数据库查是否有此对象 User user=userService.findByName(loginName); if(user!=null){ //2.1、权限信息对象info,用来存放查出的用户的所有的角色(role)及权限(permission) SimpleAuthorizationInfo info=new SimpleAuthorizationInfo(); //2.2、用户的角色集合 info.addRoles(user.getRolesName()); //2.3、用户的角色对应的所有权限,如果只使用角色定义访问权限,下面的四行可以不要 List<Role> roleList=user.getRoleList(); for (Role role : roleList) { info.addStringPermissions(role.getPermissionsName()); } return info; } return null; }
jsp 代码<shiro:hasRole name="manager">manager角色登录显示此内容</shiro:hasRole> <shiro:hasRole name="admin">admin角色登录显示此内容</shiro:hasRole>
info.addRoles("admin");
jsp 代码<shiro:hasPermission name="add">add权限用户显示此内容</shiro:hasPermission> <shiro:hasPermission name="edit">edit权限用户显示此内容</shiro:hasPermission>
info.addStringPermissions("add");
3、补充
关于 shiro 《角色》与《权限》相信你大概有一点概念了,下一篇会总结一下关于 shiro 常用注解,以及注解使用场景。
shiro 角色与权限的解读相关推荐
- Shiro角色和权限管理
Shiro角色和权限管理 在resources下创建shiro.ini文件,用于存储数据,也可以将数据存于数据库,这里我采用shiro.ini文件,内容如下: [users] zhangsan=z3, ...
- (2)shiro角色资源权限
一般在web系统权限设计中,一般分为三个维度,用户,角色,资源,一个用户可以拥有多个角色,比如说可以是老师,也可以是班主任,一个角色也可以拥有多个资源. 比如老师同时拥有查看班级学生和批改作业的资源, ...
- 使用 Shiro 设计基于用户、角色、权限的通用权限管理系统
一.前言 在大型的信息管理系统中,经常涉及到权限管理系统 下面来个 demo,很多复杂的系统的设计都来自它 代码已经放到github上了,地址:https://github.com/larger5/s ...
- spring boot shiro redis整合基于角色和权限的安全管理-Java编程
一.概述 本博客主要讲解spring boot整合Apache的shiro框架,实现基于角色的安全访问控制或者基于权限的访问安全控制,其中还使用到分布式缓存redis进行用户认证信息的缓存,减少数据库 ...
- Shiro基础应用——角色和权限校验
一.Shiro 为什么要用shiro: 1.项目中的密码是否可以明文存储? 2.是否任意访客,无论是否登录都可以访问任何功能? 3.项目中的各种功能操作,是否是所有用户都可以随意使用? 综上,当项目中 ...
- SpringBoot 整合 Shiro 实现动态权限加载更新+ Session 共享 + 单点登录
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源: juejin.im/post/5d087d60518825 ...
- vb6编写用户权限_仅需三行代码,即可让Apache Shiro接管Swagger权限认证
有很多文章提到,在生产环境中需要关闭Swagger功能,防止系统资源泄露.今天,我结合自己开发过程中的经验,分享一个只需几行代码便可实现让Apache Shiro接管Swagger认证和授权的方法.如 ...
- Spring Security基于角色的权限管理
1.Spring Security 1.1核心领域概念 认证(Authentication):认证是建立主体(principal)的过程. 主体通常是指在应用程序中执行操作的用户.设备或其他系统 授权 ...
- 基于角色的权限控制模型RBAC
本文来说下基于角色的权限控制模型RBAC 文章目录 概述 RBAC权限模型简介 RBAC的演化进程 用户与权限直接关联 一个用户拥有一个角色 一个用户一个或多个角色 页面访问权限与操作权限 数据权限 ...
最新文章
- 4.1.6 文件的基本操作
- htmlcss基础知识点表单
- Hbase总结(八)Hbase中的Coprocessor
- SAP Fiori问题排查:Why expand does not work for complex note
- python next day_PYTHON养成日记 DAY-13
- github(5):GitHub的注册与使用(详细图解)
- menuconfig和Kconfig、.config的关系
- Jmeter之Synchronizing Timer(同步集合点)
- javascript 容错处理代码【屏蔽js错误】
- Vegas安装出现问题怎么办?
- 面试还不知道BeanFactory和ApplicationContext的区别?
- hdu 5055 Bob and math problem
- git日志 每天导出 shell脚本
- 域名DNS解析找到ip
- 计算机质量监督检验报告,质量监督检验(检测)报告自动生成管理系统软件
- 流落在帝都的那些80后北漂IT人,你们的未来在哪儿
- 【Laravel系列4.3】模型Eloquent ORM的使用(一)
- 李沐动手学深度学习v2-目标检测中的锚框和代码实现
- 介绍几个好用的小软件
- Interface Trip Stop - SRS 报错