Shiro安全框架01:核心概念

分手后的思念是犯贱 2022-01-22 00:51 373阅读 0赞

核心类:

Authentication
身份认证/登录,验证用户是不是拥有相应的身份;

Authorization
授权,即权限验证,验证某个已认证的用户是否拥有某个权限;

Session Manager
会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;

Cryptography
加密,保护数据的安全性

Web Support
Web支持,可以非常容易的集成到Web环境;

Caching
缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;

Concurrency
shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing
提供测试支持;

Run As
允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me
记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

主要概念

Subject

  1. 当前的操作用户
  2. 可以是人
  3. 爬虫
  4. 当前跟软件交互的东西
  5. shiro当中我们可以统称"用户"
  6. 在代码的任何地方,你都能轻易的获得Shiro Subject
  7. 一旦获得Subject,你就可以立即获得你希望用Shiro为当前用户做的90%的事情
  8. 登录、退、访问会话、执行授权检查等

SecurityManager

  1. SecurityManager则管理所有用户的安全操作
  2. 引用了多个内部嵌套安全组件,是Shiro框架的核心
  3. 你可以把它看成DispatcherServlet前端控制器。
  4. 用于调度各种Shiro框架的服务

Realms

  1. Realms则是用户的信息认证器和用户的权限认证器
  2. 执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容
  3. Realm 可以理解为读取用户信息、角色及权限的 DAO
  4. SecurityManager要验证用户身份与权限,那么它需要从Realm获取相应的信息进行比较以确定用户身份是否合法;
  5. 可以把Realm看成DataSource,即安全数据源。

名词介绍:

subject:主体
主体可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。
securityManager:安全管理器
主体进行认证和授权都是通过securityManager进行。
authenticator: 认证器
主体进行认证最终通过authenticator进行的。
authorizer: 授权器
主体进行授权最终通过authenticator进行的。
sessionManager:会话管理
web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。
sessionDao:
通过sessionDao管理session数据,
cacheManager: 缓存管理器
主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和 ehcache整合对缓存数据进行管理。
realm: 领域
相当于数据源,通过realm存取认证、授权相关数据。
cryptography: 密码管理
提供了一套加密/解密的组件,方便开发。比如 提供常用的散列、加/解密等功能。

发表评论

表情:
评论列表 (有 0 条评论,373人围观)

还没有评论,来说两句吧...

相关阅读

    相关 安全框架Shiro

    安全框架就是解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,比较繁琐。使用安全框架,可以通过配置的方式实现对资源的访问限制。 Apache Sh

    相关 安全框架Shiro

    3.1 认证授权流程 认证:对用户的身份进行检查(登录验证) 授权:对用户的权限进行检查(是否有对应的操作权限) 流程示意图: <tabl

    相关 Shiro安全框架

    一、什么是shiro 1、Apache的强大灵活的开源安全框架 2、主要应用在认证、授权,会话管理、安全加密、缓存管理。 二、Shiro与Spring Security对