shiro框架基本概念介绍

这篇具有很好参考价值的文章主要介绍了shiro框架基本概念介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是Shiro:

  Shiro 是一个强大灵活的开源安全框架,可以完全处理身份验证、授权、加密和会话管理

Shiro的核心功能包括:

  1. 身份验证(Authentication):验证用户的身份,确保用户是合法的。
  2. 授权(Authorization):控制用户对系统资源的访问权限,限制用户只能访问其被授权的部分。
  3. 会话管理(Session Management):管理用户会话,跟踪用户的登录状态和活动,并提供会话的持久化支持。
  4. 密码加密(Cryptography):提供密码加密和解密的支持,确保用户的密码在存储和传输过程中的安全性。
  5. Web支持:提供与Web应用程序集成的支持,包括集成主流Web框架(如Spring、Struts)和处理Web请求的过滤器等。

Shiro主要组件及相互作用:

shiro框架基本概念介绍

 

  1. Subject(主体):

    • Subject 表示当前正在与应用程序交互的用户。可以是一个人、设备或其他系统实体。
    • Subject 封装了用户的身份和相关的安全操作,如登录、注销、权限检查等。
  2. SecurityManager(安全管理器):

    • SecurityManager 是 Shiro 的核心组件,负责协调和管理所有的安全操作。
    • SecurityManager 管理一个或多个 Realms,用于进行身份验证和授权。
  3. Realm(域):

    • Realm 是连接 Shiro 和安全数据源(如数据库、LDAP 等)的桥梁。
    • Realm 负责从数据源中获取用户的身份和权限信息,并提供给 SecurityManager 进行验证和授权操作。
  4. Authenticator(身份验证器):

    • Authenticator 负责对用户进行身份验证。
    • Authenticator 使用 Realm 获取用户的身份信息,并将其与用户提供的凭据进行比较,以确定用户是否合法。
  5. Authorizer(授权器):

    • Authorizer 负责对用户进行授权,确定用户是否有权访问特定资源。
    • Authorizer 使用 Realm 获取用户的角色和权限信息,并与应用程序定义的角色和权限进行匹配,以决定用户是否被授权访问资源。
  6. SessionManager(会话管理器):

    • SessionManager 负责管理用户的会话。
    • SessionManager 创建、维护和关闭用户会话,并提供会话的持久化支持。
  7. SessionDAO(会话数据访问对象):

    • SessionDAO 是用于会话数据的读取和存储的接口。
    • SessionDAO 与数据库或其他存储介质交互,将会话数据持久化或从持久化存储中读取会话数据。

  这些组件相互协作,形成了 Shiro 的安全框架。Subject 通过 SecurityManager 进行身份验证和授权操作,SecurityManager 使用 Realm 获取用户的身份和权限信息。而我们需要实现Realms的Authentication 和 Authorization。Authenticator 负责身份验证,Authorizer 负责授权,SessionManager 负责会话管理。SessionDAO 则提供会话数据的读取和存储支持。通过这

种相互作用,Shiro 提供了完善的安全功能,保护应用程序的安全性。

Shiro 认证过程:

 

  1. 用户提交身份信息:用户在应用程序的登录页面输入用户名和密码,并提交身份信息。
  2. Subject 提交身份信息:应用程序接收到用户提交的身份信息后,将其封装为 Subject 对象。
  3. SecurityManager 开始认证:SecurityManager 是 Shiro 的核心组件,负责协调和管理所有的安全操作。它接收到 Subject 提交的身份信息后,开始进行身份验证。
  4. SecurityManager 调用 Authenticator 进行身份验证:SecurityManager 会调用配置好的 Authenticator 进行身份验证。
  5. Authenticator 获取身份信息:Authenticator 使用 Realm(可能是单个 Realm 或多个 Realm 的组合)从数据源中获取用户的身份信息。
  6. Realm 获取用户身份信息:Realm 是连接 Shiro 和安全数据源的桥梁。它根据配置的方式(如数据库、LDAP 等)获取用户的身份信息。
  7. Authenticator 进行身份匹配:Authenticator 将用户提交的身份信息和 Realm 获取到的用户身份信息进行匹配,以确定用户是否合法。
  8. 认证结果返回给 SecurityManager:Authenticator 将认证结果(通过或失败)返回给 SecurityManager。
  9. SecurityManager 处理认证结果:SecurityManager 根据认证结果,如果认证成功,则将用户标记为已认证状态,并将用户的身份信息存储在 Subject 中供以后使用。如果认证失败,则抛出相应的异常。
  10. 认证结果返回给应用程序:SecurityManager 将认证结果返回给应用程序,应用程序可以根据认证结果决定如何处理。

 

Shiro 授权过程:

    1. 用户发起访问请求:
      用户在应用程序中发起对某个资源的访问请求,例如访问一个特定的 URL 或执行某个操作。

    2. Subject 发起授权请求:
      Subject 对象封装了当前用户的身份信息和相关的安全操作。当用户发起访问请求时,Subject 对象会将授权请求发送给 SecurityManager。

    3. SecurityManager 开始授权:
      SecurityManager 是 Shiro 的核心组件,负责协调和管理所有的安全操作。它接收到 Subject 的授权请求后,开始进行授权处理。

    4. SecurityManager 调用 Authorizer 进行授权:
      SecurityManager 会调用配置好的 Authorizer 进行授权操作。

    5. Authorizer 获取用户角色和权限信息:
      Authorizer 使用 Realm(可能是单个 Realm 或多个 Realm 的组合)从数据源中获取当前用户的角色和权限信息。

    6. Authorizer 进行角色和权限匹配:
      Authorizer 将用户的角色和权限信息与应用程序定义的角色和权限进行匹配,以确定用户是否有权访问请求的资源。

    7. 授权结果返回给 SecurityManager:
      Authorizer 将授权结果(允许访问或拒绝访问)返回给 SecurityManager。

    8. SecurityManager 处理授权结果:
      SecurityManager 根据授权结果,如果授权成功,则允许用户访问请求的资源。如果授权失败,则抛出相应的异常或采取其他处理措施。

    9. 授权结果返回给应用程序:
      SecurityManager 将授权结果返回给应用程序,应用程序可以根据授权结果决定如何处理用户的访问请求。文章来源地址https://www.toymoban.com/news/detail-645626.html

到了这里,关于shiro框架基本概念介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Shiro安全框架简介

    1.1 什么是权限管理 基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认证和授权两部分,当用户访问资源

    2023年04月20日
    浏览(42)
  • shiro 安全(权限)框架

    1.1、概述 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 官网:https://shiro.apache.org/

    2024年02月06日
    浏览(47)
  • JAVA安全框架之shiro

    Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架 。Shiro 可以完 成: 认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松 地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 官网 :https://shiro.apache.org/     s

    2024年02月15日
    浏览(52)
  • Shiro框架漏洞分析与复现

    Shiro简介 Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性,可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 1、Shiro反序列化漏洞(CVE-2016-4437,Shiro-550)

    2024年02月17日
    浏览(38)
  • 安全(权限)框架Shiro概述及原理

    Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。 Shiro 可以完成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 官网:https://shiro.apache.org/ 自 200

    2024年02月12日
    浏览(52)
  • SSM+Shiro安全框架整合(完成安全认证--登录+权限授权)+ssm整合shiro前后端分离

    目录 1.搭建SSM框架  1.1.引入相关的依赖 1.2. spring配置文件 1.3. web.xml配置文件 1.4.配置Tomcat并启动 2.ssm整合shiro---认证功能  (1).引入依赖 (2).修改spring配置文件 (3).修改web.xml文件 (4).新建login.jsp(登录页面) (5).新建success.jsp(登录成功后跳转到此) (6).创建User实体类 (7).创建LoginVo

    2024年02月15日
    浏览(46)
  • Shiro-11-web 介绍

    将Shiro集成到任何web应用程序的最简单方法是在web.xml中配置一个Servlet ContextListener和过滤器,该Servlet了解如何读取Shiro的INI配置。 INI配置格式本身的大部分是在配置页面的INI部分中定义的,但是我们将在这里介绍一些额外的特定于web的部分。 使用 Spring? Spring Framework用户不会

    2024年02月19日
    浏览(34)
  • SSM 整合 Shiro 安全框架【快速入门】

    更改web路径 创建所需目录 属性名与数据库字段名一 一对应 这里只是为了测试项目,还没有进行编码工作 启动tamcat服务 LoginVo

    2024年02月12日
    浏览(45)
  • Apache Shiro是什么

    Apache Shiro是一个强大且易用的Java安全框架,用于身份验证、授权、会话管理和加密。它的设计目标是简化应用程序的安全性实现,使开发人员能够更轻松地处理各种安全性问题,从而提高应用程序的安全性和可维护性。下面是一些Apache Shiro的关键特点和概念: 特点和概念:

    2024年02月11日
    浏览(19)
  • 什么是Shiro

    Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。 Shiro能到底能做些什么呢? 验证用户身

    2023年04月14日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包