权限控制是shiro最核心的东西
Shiro权限声明通常是使用以冒号分隔的表达式。一个权限表达式可以清晰的指定资源类型,允许的操作,可访问的数据。同时,Shiro权限表达式支持简单的通配符,可以更加灵活的进行权限设置。
下面以实例来说明权限表达式。
可查询用户数据
User:view
可查询或编辑用户数据
User:view,edit
可对用户数据进行所有操作
User:* 或 user
可编辑id为123的用户数据
User:edit:123

@ RequiresAuthentication
可以用户类/属性/方法,用于表明当前用户需是经过认证的用户。
使用这个注解之前,需要先在spring-mvc.xml加入一段代码(一定要写在最先加载的xml中,写在后面加载的xml中也不起作用)

<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
depends-on="lifecycleBeanPostProcessor" />
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
<property name="securityManager" ref="securityManager" />
</bean>
1
2
3
4
5
lifecycleBeanPostProcessor和securityManager是在shiro配置文件中定义好的:

<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"></bean>

<!-- Shiro安全管理器 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="jdbcRealm"></property>
<property name="cacheManager" ref="cacheManager"></property>
</bean>

在前端权限管理处写上权限的字符串

contraller里方法上写上注解,括号里是前端对应的权限字符串
这样就可以控制已认证用户权限了

转载于:https://www.cnblogs.com/xiaohouye/p/11163209.html

shiro框架的学习相关推荐

  1. shiro将session认证改成token认证_初步学习Shiro框架 第一集

    1.什么是Shiro Apache Shiro™ is a powerful and easy-to-use Java security framework that performs authent ...

  2. ehcache使用_Java 程序员如何使用 Shiro 框架

    Java 程序员如何使用 Shiro 框架 一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.Shiro的应用不依赖任何容器,它也可以在JavaSE下使 ...

  3. shiro框架---shiro配置介绍(一)

    接上一篇文章shiro框架-通过系统介绍shiro框架中的实现逻辑   项目已分享到GitHub上,如果需要的可以看下,springboot+shiro项目Git下载地址. shiro在springb ...

  4. shiro反序列化漏洞学习(工具+原理+复现)

    工具准备 1.java8 C:\Program Files\Java 2.冰蝎 C:\Users\ali\Desktop\tools\Behinder_v4.0.6 3.shiro反序列化 图形化工具 ...

  5. Shiro 框架详解

    Shiro 是一款轻量级的 Java 安全框架,提供了身份认证.授权.加密和会话管理等功能.它可以集成到任何 Java Web 应用程序中,并且易于使用和扩展.Shiro 的设计理念是简洁而灵活,不仅 ...

  6. shiro框架的基本理解

    1.简介 shiro是一个安全框架,可以进行认证.授权.密码加密.会话管理 从外部来解析shiro框架: **Subject:**主体,代表了当前"用户",这个用户不一定是一个具体 ...

  7. 从权限到shiro框架

    说明:本文很多观点和内容来自互联网以及各种资料,如果侵犯了您的权益,请及时联系我,我会删除相关内容. 权限管理 在说具体的框架之前,先把必要的理论知识简单的和大家交代一下. 什么是权限管理 基本上涉及 ...

  8. 通过 DLPack 构建跨框架深度学习编译器

    通过 DLPack 构建跨框架深度学习编译器 深度学习框架,如Tensorflow, PyTorch, and ApacheMxNet,快速原型化和部署深度学习模型提供了强大的工具箱.不幸的是,易用性 ...

  9. Shiro源码学习之二

    接上一篇 Shiro源码学习之一 3.subject.login 进入login public void login(AuthenticationToken token) throws Authent ...

最新文章

  1. Linux环境编译qtmqtt,qtmqttclient
  2. 财务人员学python有用吗-python在财务里面有用吗
  3. go语言socket通信初试
  4. 14、Java Swing星座选择器界面的实现
  5. 柴静《认识的人 了解的事》
  6. MFC的消息映射有什么作用
  7. Find them, Catch them POJ - 1703(种类并查集)
  8. C/C++——输入输出特别注意点
  9. CSS设置文本——行间距
  10. java方法重载和重载方法_Java中的重载与重载
  11. 运用SQL Server安全模型来保护数据
  12. java 评论功能_博客项目实现文章评论功能(重点是评论回复)
  13. 【数学】用C语言实现函数的定积分—— 把 “定积分定义计算出的值” 和 “牛顿-莱布尼兹公式计算出的值” 两者进行误差比较
  14. JS中find()和findIndex()
  15. snmp 统计网络流量
  16. MacOS系统安装fish,替代bash
  17. 银河麒麟服务器系统ip可ping通,但是tongweb的默认端口9060、8088不能访问,访问提示404
  18. STM32F407ZG单片机晶振由例程默认推荐的8M换为自定义的4-26M时的注意事项
  19. JSEclipse下载与安装
  20. Mosca MQTT

热门文章

  1. MySQL5安装配置笔记【超详细】
  2. 【ZOJ - 2955】Interesting Dart Game(背包,结论,裴蜀定理,数论)
  3. 【HDU - 1078】FatMouse and Cheese (记忆化搜索dp)
  4. phpstudy mysql5.1_linux下mysql5.1 和 5.7安装教程详解
  5. vb简易计算机器程序,vb简易计算器源码
  6. html css简单form表单源码
  7. .编写一个注解。并添加元注解,让该注解可以用在方法上,类上,和属性上
  8. linux的进程pcd,LINUX下查看点云图————point cloud(.ply .vtk .pcd)
  9. 当年,兔子学姐靠这个面试小抄拿了个22k
  10. leetcode212. 单词搜索 II