zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Qomolangma实现篇(二):命名空间和别名子系统的实现
    关于Borland's IDE:发生了就发生了吧!
    Qomolangma实现篇(六):Qomo的OOP框架的实现技术
    Qomolangma实现篇(八):Qomo中的AOP框架
    经典的《JavaScript 权威指南》中的“对象”不经典
    Qomo OpenProject beta1 发布!
    弹出当前索引号案例
    tab栏切换效果案例
    [USACO18DEC]Sort It Out P
    [ABC163F]path pass i
  • 原文地址:https://www.cnblogs.com/baby123/p/11063884.html
Copyright © 2011-2022 走看看