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角色和权限管理相关推荐

  1. Spring Security基于角色的权限管理

    1.Spring Security 1.1核心领域概念 认证(Authentication):认证是建立主体(principal)的过程. 主体通常是指在应用程序中执行操作的用户.设备或其他系统 授权 ...

  2. Vue角色的权限管理

    根据服务器端的数据,对角色的权限管理使用for循环进行遍历,然后渲染了样式 使用element-ui实现布局 文章目录 角色权限的样式 角色权限 分配权限 分配角色功能的实现 接口 删除角色指定权限的 ...

  3. 从零开始——基于角色的权限管理01(补充)

    此博文较为详细的介绍从零开始--基于角色的权限管理01文中的两个部分的流程(解释代码). 1) index.jsp中提交跳转action action的login,获取jsp页面传过来的用户名密码和验 ...

  4. RBAC-基于角色的权限管理

    RBAC-基于角色的权限管理 RBAC权限管理 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一 ...

  5. Jenkins 用户角色及权限管理

    Jenkins 用户.角色及权限管理 官方文档:https://jenkins.io/zh/doc/ 1.插件管理 首先,登录以管理员身份登录Jenkins 然后,在插件管理模块中,检查Role-ba ...

  6. Jenkins 中基于角色的权限管理

    Jenkins 中基于角色的权限管理 原文地址: Jenkins 中基于角色的权限管理 | 超级小豆丁 (mydlq.club) 系统环境: Jenkins 版本:2.213 一.简介 Jenkins ...

  7. oracle中角色和用户权限,Oracle用户、角色、权限管理

    用户在会话的权利上,应该有其他操作的权利:Oracle的用户和口令不区分大小写,真是让人大跌眼镜:Oralce中,所有用户必须明确被 create or replace type address as ...

  8. shiro 角色与权限的解读

    1.为什么 shiro 有了<角色>后,还要设置<角色权限>呢?(问题) 思考:设置好角色了,那么就代表什么操作都可以执行了吗? 理解:如果上边回答是的话,那么只是<角色 ...

  9. PostgreSQL用户角色和权限管理

    一.用户角色管理 1.创建用户角色 create user cjr LOGIN;create role cjr1 CREATEDB;create role cjr2 superuser; create ...

最新文章

  1. Redis集群方案之Twemproxy+HAProxy+Keepalived+Sentinel+主从复制(待实践)
  2. python enumerate用法总结_python enumerate用法总结
  3. Apache下有效防止盗链仿下载的解决办法
  4. 生产计划到底该怎样改进?这6点帮你节省至少60%的计划时间
  5. 简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...
  6. 关于类、抽象类和接口的继承关系
  7. Linux/Centos下安装部署phantomjs 及使用
  8. 还对Angel平台一知半解?腾讯专家为你指点迷津!
  9. 用es5实现es6的promise,彻底搞懂promise的原理
  10. 爬取千库网ppt_Python——如何实现千图成像:初级篇(从图片爬取到图片合成)...
  11. 软件需求说明书模板和实际案例
  12. [Android][Kernel]基于crash工具搭建分析ramdump的平台
  13. 微信好友只有昵称没有微信号_没微信号能找到人吗 只有微信昵称怎么找人
  14. 简说阿里云服务器搭建与简单项目部署
  15. JAVA中的getBytes()方法(史上最能明白的总结)
  16. 活水渠 - 云影院之云时代看片全攻略
  17. 华为数据管理与分析课程
  18. JAVA毕业设计课设源码分享50+例
  19. net.sf.json.JSONObject实现Object对象与Json字符串的互转
  20. Linux生产环境CPU使用率100%,教你定位到具体函数

热门文章

  1. Redis 如何实现库存扣减操作和防止被超卖
  2. 初识大数据--Hadoop大数据平台架构与实践
  3. Python全国就业分布
  4. (MY)SQL基本语句
  5. 面试中java 知识点
  6. 电子检测报告如何盖骑缝章?
  7. Halide(win10vs2019环境搭建)小试牛刀
  8. 刷题学习—算法思想(双指针、排序、回溯、二分法、滑动窗口、贪心、单调栈)
  9. elasticsearch中对于空字符串的过滤操作
  10. Android APP如何实现支付宝支付