2019独角兽企业重金招聘Python工程师标准>>>

上一篇答题梳理了jfinal整合shiro的流程,jfinal读取shiro注解,这一篇将作为补充。

1.JFinalShiroPlugin作者为shiro的RequiresRoles,RequiresPermissions, RequiresAuthentication,RequiresUser,RequiresGuest注解分别都写了一个访问控制处理器,如AuthenticatedAuthzHandler,GuestAuthzHandler,PermissionAuthzHandler,PermissionAuthzHandler,RoleAuthzHandler,UserAuthzHandler,这些类都继承了AbstractAuthzHandler,并实现了AuthzHandler接口。CompositeAuthzHandler可以是以上类的组合。这些类的作用就是处理控制器和方法上的注解,通过Subject subject = getSubject();获取当前登录用户拥有的权限,与注解进行对比,如果注解的权限包含在拥有的权限,则可以访问该控制器或方法。

2.这些访问控制处理器都在启动JFinalShiroPlugin插件的时候生成了实例和与之对应的actionKey.放在类型为ConcurrentMap的authzMaps变量中。通过调用 ShiroKit.init(authzMaps)方法使得这个变量成为系统全局变量。这里代码可参考上一篇ShiroPlugin插件最主要的start方法。

3.现在有了访问控制处理器实例及其对应的actionkey,可以通过拦截器拦截没有权限的用户操作控制器

转载于:https://my.oschina.net/u/2427561/blog/1524170

jfinal使用shiro注解大体流程相关推荐

  1. jfinal整合shiro回顾

    2019独角兽企业重金招聘Python工程师标准>>> 目前jfinal使用shiro进行身份验证和授权的后台实现已完成,现在我再来总结下学习过程及代码实现过程.最近半年多项目开发都 ...

  2. Apache Shiro的运行流程和权限控制方式分析

    Apache Shiro的运行流程和权限控制方式分析 Shiro的架构有3个主要的概念: Subject SecurityManager Realms 下面的关系图是关于这些组件是如何交互的高级概述. ...

  3. JFinal整合Shiro(二)

    原文:http://zhangxiao.org/2016/jfinal-shiro-integration2/ 续上一篇<JFianl整合Shiro(一)> 我准备在这里,具体的描述下JF ...

  4. 【tensorrt】——插件写法及python plugin大体流程

    tensorrt 1. python plugin 大体流程 这是参考torch2trt写的一个python插件的大体流程,因为tensorrt是没有开源的,所以具有不确定性. 2. code 项目, ...

  5. 机器学习训练模型的大体流程

    ** 机器学习训练模型的大体流程 ** 当我们在处理机器学习任务的时候(无论是分类任务.回归任务或者其他),大体流程都是这样的. 从真实的环境中产生一些数据,这些数据非常的dirty,需要经过很漫长的 ...

  6. 代理对象之spring注解事务控制或shiro注解权限控制的理解

    通过注解 代理的可以是service或者action等,当他们被调用时由代理对象生效,由框架控制 shiro Action方法注解权限控制 底层基于代理技术实现,为Action创建代理对象,由代理对象 ...

  7. SLAM算法大体流程---理论知识(入门级)

    首先一个完整的SLAM流程分为前端跟踪.后端优化.回环检测.地图重建. 前端跟踪即视觉里程计负责初步估计相机帧间位姿状态及地图点的位置; 后端优化负责接收视觉里程计前端测量的位姿信息并计算最大后验概率 ...

  8. Shiro第二篇【介绍Shiro、认证流程、自定义realm、自定义realm支持md5】

    什么是Shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi),是一个权限框架,它和sp ...

  9. JFinal配合Shiro权限控制在FreeMarker模板引擎中控制到按钮粒度的使用

    实现在FreeMarker模板中控制对应按钮的显示隐藏主要用到了Shiro中的hasRole, hasAnyRoles, hasPermission以及Authenticated等方法,我们可以实现T ...

最新文章

  1. 猪器官又立功了!移植转基因猪肾给脑死亡病人,23分钟后成功产生尿液
  2. 【设计模式】单例模式-生成器模式-原型模式
  3. MATLAB利用串口接收数据,并实时显示图形
  4. Cortex‐M3-存储器映射
  5. 三年磨一剑,五次被拒稿,交大博士坚持稿件申诉,终发表学科顶刊
  6. LeetCode 1885. Count Pairs in Two Arrays(二分查找)
  7. PHP Calendar 函数,wordpress函数get_calendar()用法示例
  8. Spring 3 MVC深入研究
  9. linux下生成静态库和动态库
  10. 用python写三角形_python写个三角形的问题
  11. 基于JAVA+SpringMVC+Mybatis+MYSQL的英语在线学习系统
  12. php中的list()用法中要注意的地方
  13. http 直接显示目录下文件_Win10支持直接访问Linux子系统文件:你的下一台Linux何必是Linux
  14. [20190312]视图v$datafile字段OFFLINE_CHANGE#, ONLINE_CHANGE#.txt
  15. net.sf.hibernate.util 总结
  16. 【王道操作系统笔记】操作系统的运行机制和体系结构
  17. 修复win7便签功能
  18. 利用quietHDD解决硬盘C1增长以及异响问题
  19. 【思科、华为、华三这三大认证,选哪个考最好?】
  20. Python:索引总结

热门文章

  1. hive日志位置(日志定位报错:Failed with exception Unable to move sourcehdfs://namenode/tmp/hive-pmp_bi/h)...
  2. find之exec和args
  3. correct ways to define variables in python
  4. vsftp虚拟用户无法上传文件,解决办法
  5. python括号匹配问题_支持通配符的括号匹配问题源码+详细流程代码(python)
  6. 中兴f650 2.0.3 固件降级_手机资讯:如何升级iOS12.1.4正式版iOS12.1.4正式版升降级教程...
  7. java循环基础知识_java基础知识—循环结构
  8. mysql myisampack_每天进步一点达——MySQL——myisampack
  9. php外联样式,css外联样式不起作用怎么办
  10. 事务管理基础:两段锁协议、活锁、死锁相关知识整理