• Apache Shiro


    Apache Shiro 是一个功能强大且易于使用的Java安全框架,为开发人员提供了一种直观而全面的身份验证,授权,加密和会话管理解决方案

    借助Shiro易于理解的API,可为任何应用提供安全保障 - 从命令行应用、移动应用到大型网络及企业应用。

    Apache Shiro是一个具有许多功能的综合应用程序安全框架

    提供了四大基本安全功能:

    • 身份验证 - 证明用户身份,通常称为用户“登录”。
    • 授权 - 访问控制
    • 密码学 - 保护或隐藏窥探数据的数据
    • 会话管理 - 每用户时间敏感状态

    还有其他功能可以在不同的应用程序环境中支持和强化这些问题,尤其是:

    • Web支持(Web Support):Shiro的Web支持API可帮助轻松保护Web应用程序。
    • 缓存(Caching):缓存是Apache Shiro API中的第一层公民,可确保安全操作保持快速高效。
    • 并发(Concurrency):Apache Shiro支持具有并发功能的多线程应用程序。
    • 测试(Testing):存在测试支持以帮助您编写单元和集成测试,并确保您的代码按预期受到保护。
    • “运行方式”(Run As):允许用户假定其他用户的身份(如果允许)的功能,有时在管理方案中很有用。
    • “记住我”(Remember Me):记住用户在会话中的身份,因此他们只需要在必要时登录。

    Shiro主要框架:

    核心概念:

      Subject:

         主体,代表了当前“用户”,与当前应用交互的都是Subject

         所有Subject 都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager

      SecurityManager

        安全管理器,即所有与安全有关的操作都会与SecurityManager交互,管理着所有Subject

        是Shiro的核心

      Realms

        域,Shiro从Realm获取安全数据(如用户、角色、权限)

        SecurityManager要验证用户身份,需要从Realm获取相应的用户进行比较以确定用户身份是否合法。

        进行验证用户是否能进行操作需要从Realm得到用户相应的角色/权限

    应用过程:

    应用代码通过Subject来进行认证和授权,将Subject委托给SecurityManager;

    给Shiro的SecurityManager注入Realm,让SecurityManager能得到合法的用户及其权限进行判断

     参考 http://shiro.apache.org/introduction.html

  • 相关阅读:
    Flask 学习7. make_response() 自定义响应内容 上海
    Flask 学习5.请求对象Request 上海
    Flask 学习3.设置 HTTP 请求 方法(get/post) 上海
    Flask 学习2.url访问地址(路由配置) 上海
    Flask 学习9. 开启调试模式(debug模式)的2种方法 上海
    modelmapper 简单智能的对象映射工具
    使用jsch 实现ssh tunnel
    jimfs java 内存文件系统实现
    基于commonsdiscovery 开发简单的插件化java系统
    dremio 20 版本可以下载体验了
  • 原文地址:https://www.cnblogs.com/baby123/p/11063884.html
Copyright © 2020-2023  润新知