Subject:主体,可以看到主体可以是任何可以与应用交互的“用户”;

SecurityManager:相当于SpringMVC中的DispatcherServlet或者Struts2中的FilterDispatcher;是Shiro的心脏;所有具体的交互都通过SecurityManager进行控制;它管理着所有Subject、且负责进行认证和授权、及会话、缓存的管理。

Authenticator:认证器,负责主体认证的,这是一个扩展点,如果用户觉得Shiro默认的不好,可以自定义实现;其需要认证策略(Authentication Strategy),即什么情况下算用户认证通过了;

Authrizer:授权器,或者访问控制器,用来决定主体是否有权限进行相应的操作;即控制着用户能访问应用中的哪些功能;

Realm:可以有1个或多个Realm,可以认为是安全实体数据源,即用于获取安全实体的;可以是JDBC实现,也可以是LDAP实现,或者内存实现等等;由用户提供;注意:Shiro不知道你的用户/权限存储在哪及以何种格式存储;所以我们一般在应用中都需要实现自己的Realm;

SessionManager:如果写过Servlet就应该知道Session的概念,Session呢需要有人去管理它的生命周期,这个组件就是SessionManager;而Shiro并不仅仅可以用在Web环境,也可以用在如普通的JavaSE环境、EJB等环境;所有呢,Shiro就抽象了一个自己的Session来管理主体与应用之间交互的数据;这样的话,比如我们在Web环境用,刚开始是一台Web服务器;接着又上了台EJB服务器;这时想把两台服务器的会话数据放到一个地方,这个时候就可以实现自己的分布式会话(如把数据放到Memcached服务器);

SessionDAO:DAO大家都用过,数据访问对象,用于会话的CRUD,比如我们想把Session保存到数据库,那么可以实现自己的SessionDAO,通过如JDBC写到数据库;比如想把Session放到Memcached中,可以实现自己的Memcached SessionDAO;另外SessionDAO中可以使用Cache进行缓存,以提高性能;

CacheManager:缓存控制器,来管理如用户、角色、权限等的缓存的;因为这些数据基本上很少去改变,放到缓存中后可以提高访问的性能

Cryptography:密码模块,Shiro提高了一些常见的加密组件用于如密码加密/解密的。

来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/jeffen/p/5974323.html

Shiro权限控制框架相关推荐

  1. Apache Shiro权限控制框架简介

    Apache Shiro权限控制框架简介 要想实现权限控制,可以自己写代码实现,蓄力都的权限控制可以通过过滤器Filter实现,细粒度的权限控制是基于代理对象结合自定义的注解和反射技术来实现,反射技术 ...

  2. Shiro权限控制+整合shiro

    Shiro权限控制 0.1传统的权限认证方式 特点:为每个人单独的分配权限模块,能够实现权限控制,但是当公司人员庞大之后,非常难管理 上述权限控制如何设计表? 关系:员工和菜单权限的关系:多对多 员工 ...

  3. 权限控制框架Shiro简单介绍及配置实例

    Shiro是什么 Apache Shiro是一个非常易用的Java安全框架它能提供验证.授权.加密和Session控制.Shiro非常轻量级而且API也非常易于理解可以使用Shiro完成从APP到企业 ...

  4. Shiro权限控制(二)

    之前写过Shiro的文章,但是当回过头来整理的时候,发现缺了好多东西,今天重新整理一下. 我们都知道Shiro和secitity都是安全的框架,但是相对于Shiro来说,比较入门简单,所需要的功能基本 ...

  5. shiro权限控制登陆成功页面跳转问题

    在开发中使用了shiro进行权限控制,遇到一个页面跳转问题:当用户账号密码都正确的时候并没有跳转到登陆成功页面. 在shiroFilter过滤器中配置了登陆成功路径没有反应.注意:我使用的是表单验证. ...

  6. 一个jsp能取到父类jsp的值吗_「Javaweb」ssm整合权限控制框架shiro,你知道怎么做吗?...

    为美好而努力--羊羽科技说. 最近在开发自己的网站,需要权限控制功能,在网上找了一下,找到了我接下来要介绍的shiro框架. shiro框架是Apache公司维护的开源产品之一,其官网对其的简介是这样 ...

  7. 权限控制框架 shiro

    第一章 Shiro简介--<跟我学Shiro> 博客分类: 跟我学Shiro 跟我学shiro  目录贴: 跟我学Shiro目录贴 1.1  简介 Apache Shiro是Java的一个 ...

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

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

  9. shiro权限鉴定框架

    如果你看到这篇文章,你一定知道shiro是干嘛用的,如果真的真的不知道... 那么请先移步:shiro . . . 好了,聪明的你现在一定知道shiro是干嘛用的了,你应该知道,shiro不是web框 ...

  10. Shiro权限控制笔记要点

    一.Shiro 1.1 权限管理过滤器解释: Authentication :身份认证/登录,验证用户是不是拥有相应的身份: Authorization :授权,即权限验证,验证某个已认证的用户是否拥 ...

最新文章

  1. Java日志框架-Spring中使用Logback(Spring/Spring MVC)
  2. Mysql安装注意问题
  3. Linux Oracle10g安装
  4. (连通图 模板题 无向图求桥)Critical Links -- UVA -- 796
  5. (1) 在manjaro linux下安装qq,微信
  6. springboot整合tkmybatis以及使用
  7. BeanUtils.copyProperties()复制对象时改变属性类型
  8. Redcarpet 出现 Invalid id given错误解决办法
  9. HTML5期末大作业:商城网站设计——仿天猫商城(9页) HTML+CSS大作业: 网页制作作业_疫情防控网页设计...
  10. Pytorch与强化学习 —— 1. 如何实现一个简单的Q Learning算法
  11. python pandas处理excel 统计数据_python使用pandas处理excel数据
  12. matlab生成sinc函数,【 MATLAB 】sinc 函数简介
  13. R语言学习 文本处理
  14. 使用python-docx将爬取结果保存到word
  15. Excel神器之xlwings的安装
  16. 服务器性能测试工具及实战,性能测试实战--《软件测试52讲》
  17. 全民小视频逆势崛起:短视频的“小趋势”与“信用飞轮”
  18. Android 8.0 、9.0源码编译问题记录
  19. Android安全测试神器大全
  20. 二分法和三分法的用处和区别

热门文章

  1. 整数划分之四 【区间dp】讲解于思考方法
  2. BNU29140 Taikotaiko(概率)
  3. 故事到此为止了,谢谢遇见,让我成长。
  4. 卢卡奇总体性原则_读书笔记|卢卡奇物化与无产阶级意识无产阶级的立场(1)...
  5. 马尔科夫决策过程(MDP) : BlackJack问题(MC-ES)
  6. 翻译: 2.6 概率论 深入神经网络 pytorch
  7. 算法:Merge k Sorted Lists(合并 k 个排序链表)
  8. next_permutation()
  9. 利用函数指针实现累加
  10. 简述deque容器的插入删除原理