Shiro角色和权限管理
Shiro角色和权限管理
在resources下创建shiro.ini文件,用于存储数据,也可以将数据存于数据库,这里我采用shiro.ini文件,内容如下:
[users]
zhangsan=z3,role1,role2
lisi=l4[roles]
role1=user:insert,user:select
代码:
package com.atguigu.shirotest;import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.*;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.crypto.hash.Md5Hash;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;public class ShiroRun {public static void main(String[] args) {//1初始化获取SecurityManagerIniSecurityManagerFactory factory = new IniSecurityManagerFactory("classpath:shiro.ini");SecurityManager securityManager = factory.getInstance();SecurityUtils.setSecurityManager(securityManager);//2获取Subject对象Subject subject = SecurityUtils.getSubject();//3创建token对象,web应用用户名密码从页面传递AuthenticationToken token = new UsernamePasswordToken("zhangsan","z3");
// System.out.println(token);//4完成登录try {subject.login(token);System.out.println("登录成功");//5判断角色boolean hasRole = subject.hasRole("role1");System.out.println("是否拥有此角色 = " + hasRole);//6判断权限boolean permitted = subject.isPermitted("user:insert");System.out.println("是否拥有此权限 = " + permitted);//也可以用checkPermission方法,但没有返回值,没权限抛AuthenticationException
// subject.checkPermission("user:select");}catch (UnknownAccountException e) {e.printStackTrace();System.out.println("用户不存在");}catch (IncorrectCredentialsException e) {e.printStackTrace();System.out.println("密码错误");}catch (AuthenticationException e) {e.printStackTrace();}}
}
运行结果:
Shiro角色和权限管理相关推荐
- Spring Security基于角色的权限管理
1.Spring Security 1.1核心领域概念 认证(Authentication):认证是建立主体(principal)的过程. 主体通常是指在应用程序中执行操作的用户.设备或其他系统 授权 ...
- Vue角色的权限管理
根据服务器端的数据,对角色的权限管理使用for循环进行遍历,然后渲染了样式 使用element-ui实现布局 文章目录 角色权限的样式 角色权限 分配权限 分配角色功能的实现 接口 删除角色指定权限的 ...
- 从零开始——基于角色的权限管理01(补充)
此博文较为详细的介绍从零开始--基于角色的权限管理01文中的两个部分的流程(解释代码). 1) index.jsp中提交跳转action action的login,获取jsp页面传过来的用户名密码和验 ...
- RBAC-基于角色的权限管理
RBAC-基于角色的权限管理 RBAC权限管理 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一 ...
- Jenkins 用户角色及权限管理
Jenkins 用户.角色及权限管理 官方文档:https://jenkins.io/zh/doc/ 1.插件管理 首先,登录以管理员身份登录Jenkins 然后,在插件管理模块中,检查Role-ba ...
- Jenkins 中基于角色的权限管理
Jenkins 中基于角色的权限管理 原文地址: Jenkins 中基于角色的权限管理 | 超级小豆丁 (mydlq.club) 系统环境: Jenkins 版本:2.213 一.简介 Jenkins ...
- oracle中角色和用户权限,Oracle用户、角色、权限管理
用户在会话的权利上,应该有其他操作的权利:Oracle的用户和口令不区分大小写,真是让人大跌眼镜:Oralce中,所有用户必须明确被 create or replace type address as ...
- shiro 角色与权限的解读
1.为什么 shiro 有了<角色>后,还要设置<角色权限>呢?(问题) 思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是<角色 ...
- PostgreSQL用户角色和权限管理
一.用户角色管理 1.创建用户角色 create user cjr LOGIN;create role cjr1 CREATEDB;create role cjr2 superuser; create ...
最新文章
- Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
- python enumerate用法总结_python enumerate用法总结
- Apache下有效防止盗链仿下载的解决办法
- 生产计划到底该怎样改进?这6点帮你节省至少60%的计划时间
- 简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...
- 关于类、抽象类和接口的继承关系
- Linux/Centos下安装部署phantomjs 及使用
- 还对Angel平台一知半解?腾讯专家为你指点迷津!
- 用es5实现es6的promise,彻底搞懂promise的原理
- 爬取千库网ppt_Python——如何实现千图成像:初级篇(从图片爬取到图片合成)...
- 软件需求说明书模板和实际案例
- [Android][Kernel]基于crash工具搭建分析ramdump的平台
- 微信好友只有昵称没有微信号_没微信号能找到人吗 只有微信昵称怎么找人
- 简说阿里云服务器搭建与简单项目部署
- JAVA中的getBytes()方法(史上最能明白的总结)
- 活水渠 - 云影院之云时代看片全攻略
- 华为数据管理与分析课程
- JAVA毕业设计课设源码分享50+例
- net.sf.json.JSONObject实现Object对象与Json字符串的互转
- Linux生产环境CPU使用率100%,教你定位到具体函数