1.什么是shiro

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

2.为什么学习shiro

      在java的世界中,安全管理框架有spring security和shiro。Spring security要依赖于spring并且比较复杂,学习曲线比较高,Shiro比较简单,而且shiro比较独立,既可以在java se中使用,也可以在java ee中使用,并且在分布式集群环境下也可以使用。

3.Shiro的结构体系

      shiro系列(一):认识shiro

Authentication:认证

    验证用户是否合法,也就是登录。

Authorization:授权

     授予谁具有访问某些资源的权限。

Session Management:会话管理

   用户登陆后的用户信息通过Session Management来进行管理。

Cryptography:加密

   提供了常见的一些加密算法,使得在应用中可以很方便的实现数据安全,并且使用很便捷。

Web suport:web应用程序支持

   Shiro可以很方便的集成到web应用程序中

Caching:缓存

   shiro提供了对缓存的支持,支持多种缓存架构:如ehcache,还支持缓存数据库Redis。

Concurrency:并发支持

   支持多线程并发访问

Testing:测试

Run As:支持一个用户在允许的前提下使用另一个身份登录

Remember Me:在会话中记住用户的身份,所以他们只需要在强制时候登录

4.Shiro架构

shiro系列(一):认识shiro

Subject:主体, 可以使用户,也可以是第三方程序,subject用于获取主体信息,Principals(身份)和Credentials(凭证)

Security Manager:安全管理器,是shiro心脏(核心),由其协调管理其他组件之间的工作。

Autenticator:认证器,负责验证用户的身份(登录)

Authorizer:授权器,负责为合法的用户指定其权限,控制用户可以访问那些资源

Realms:域,用户通过shiro来完成相关的安全工作,shiro是不会去维护数据信息的,在shirp的工作过程中,数据的查询和获取工作是通过Realm从不同的数据源来获取,Realm可以获取数据库信息,文本信息等,在shiro中可以有一个Realm也可以有多个。

 

  

相关文章: