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

  • 相关阅读:
    【Gradle】Java Gradle 插件
    【Gradle】Gradle任务
    【Gradle】Gradle插件
    【Gradle】Groovy基础
    【Gradle】Gradle构建脚本基础
    【Gradle】Gradle入门
    【Android】Android多渠道打包--Gradle打包
    【Android】基于A星寻路算法的简单迷宫应用
    【Web】解决简书图片不显示问题“系统维护中,图片暂时无法加载”
    【Android】线程池
  • 原文地址:https://www.cnblogs.com/baby123/p/11063884.html
Copyright © 2011-2022 走看看