1、什么是shiro

1.什么是shiro?

shiro是一个基于java的开源的安全框架。可以完成认证、授权、会话管理、加密、缓存等功能。

2.为什么去学习shrio

在java的世界中,有更早的安全框架。有spring security和shiro。Spring Security要依赖与Spring,并且比较复杂,学习成本比较高。shiro比较简单,而且标记独立,既可以在java se中使用,也可以在java ee中使用。并且在分布式集群环境下使用。

3.shiro的结构体系

1、什么是shiro_第1张图片(1) Authentication: 认证
验证登录用户是否合法,也就是登录。
(2)Authorization:授权
登录以后才会授权,授予谁具有访问某些资源的权限。
(3) Session Management:会话管理
登录之后会产生一次session. sessionManagment就是管理用户特定的回话。
(4)Cryptography:加密
通过使用加密算法保持数据安全同事易于使用。提供了常见的加密算法,使得数据在应用中可以很方便的实现数据安全,并且很方便。
(5)Web Support:web应用支持
shiro可以很方便的集成到web应用程序中
(6)Caching:缓存
shiro提供了对缓存的支持。支持多种缓存架构,如:ehcache、缓存数据库-Redis。
(7)Concurrency:并发支持
支持多线程并发访问
(8)Testing:测试
(9)Run As:
支持一个用户在允许的情况下使用另一个身份登录
(10)Remember Me:记住我

4.shiro的架构体系

   ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191223172452952.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAwOTY1OA==,size_16,color_FFFFFF,t_70)
  1. subject:当前与软件进行交互的实体(用户、第三方服务、cron job 等等)的安全特定试图。subject用户获取主体信息,即身份和凭证。
  2. SecurityManager:如上所述,SecurityManager是shiro框架的心脏。协调其管理的组件 以确保他们能够一起顺利工作。他还管理每个应用程序用户的shiro的试图,一次他知道如何执行每个用户的安全操作。
  3. Authenticator认证器组件 。负责验证用户的身份
  4. Authorizer授权器组件 。负责为合法的用户指定其权限,控制用户可以访问哪些资源。
  5. Realm :域。用户通过shrio来完成相关的工作。shiro是不会维护数据信息的,在shiro的工作过程中,数据的查询或获取工作是通过Realm从不同的数据源来获取。Realm可以获取数据库信息,文本信息等。在shiro中可以有一个Realm也可以有多个。

你可能感兴趣的:(shiro,shiro,java)