# Shiro安全框架简介

回到主导航页

文档目标:

  • 认识Shiro的整体架构,各组件的概念
  • Shiro认证,授权的过程
  • Shiro自定义的Realm,Filter
  • Shiro Session管理
  • Shiro 缓存管理
  • Shiro集成Spring

# 什么是Shiro

  • Apache的灵活的开源安全框架
  • 认证、授权、企业会话管理、安全加密、缓存管理等等

# Shiro与Spring Security比较

Shiro与Spring Security区别? Apache Shiro

  • 简单、灵活
  • 可脱离Spring
  • 粒度较粗 Sping Security
  • 复制、笨重
  • 不可脱离Spring
  • 粒度更细

# Shiro整体架构

Shiro安全框架图

Security Manager管理着如下组件:Authenticator、Authorizer、Session Manager、Session DAO、Cache Manager等

  • Authenticator: 认证器,管理登陆、登出
  • Authorizer: 授权器,赋予 主体有什么权限
  • Session Manager: Shiro自己实现了一个session管理机制,可以在不借助任何外部容器的情况下使用session
  • Session DAO: 提供了对Session的操作,主要是对Session的增删改查
  • Cache Manager:缓存管理器
  • Pluggable Realms(1 or more): Shiro与数据源的一个桥梁,Shiro获取认证信息,权限数据,角色数据,就是通过Pluggable Realms来获取的
  • Cryptography: 是用来做加密的,可以使用Cryptography非常快捷方便的来做数据加密

# Authenticator认证器是如何认证的呢?

主体提交请求到Security Manager,Security Manager调用Authenticator去做认证,Authenticator获取认证数据 是从Realms来获取的, 而 Realms是从下面的数据源数据库里获取的,从数据库中获取的认证数据与主体提交过来的认证数据去做比对, Authorizer授权进来也是一样,Authorizer给主体赋予的权限也是从 Realms 或者 缓存中 来获取的 角色数据、权限数据

# Shiro认证

Shiro的认证过程 SecurityManager是用来提供安全认证服务的,所以我们在做Shiro认证的时候,我们先要创建SecurityManager对象,构建SecurityManager环境

# 支持我-微信扫一扫-加入微信公众号

Aseven公众号

# 赞赏作者

赞赏作者