美文网首页
shiro(一) 框架

shiro(一) 框架

作者: 怪诞140819 | 来源:发表于2018-11-17 14:30 被阅读18次

    框架支持

    shiro是一个java的安全框架,可以用在JavaSE环境,也可以用在JavaEE环境,可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。


    基本功能
    • Authentication 用户认证,即用户的身份是否合法
    • Authorization 授权,即验证权限,判断当前用户是否能操作某个资源。
    • Session Management 会话管理,不依赖web环境
    • Cryptography 加密,保护数据的安全,例如密码的加密
    • Web Support web支持
    • Caching缓存支持,权限验证操作是比较频繁的,缓存支持可以不需要每次都从数据库读取。
    • Concurrency 多线程支持,高并发情况处理。
    • Testing提供测试支持;
    • Run As允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;
    • Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了

    Shiro 不会去维护用户、维护权限;这些需要我们自己去设计 / 提供;然后通过相应的接口注入给 Shiro

    框架内部结构

    shiro内部结构
    • Subject主体,与系统交互的用户
    • Security Manager相当于 SpringMVC 中的 DispatcherServlet 或者 Struts2 中的 FilterDispatcher;是 Shiro 的心脏;所有具体的交互都通过 SecurityManager 进行控制;它管理着所有 Subject、且负责进行认证和授权、及会话、缓存的管理
    • Authentication(可扩镇)认证器,负责主体认证的
    • Authorizier 授权器,或者访问控制器,用来决定主体是否有权限进行相应的操作;即控制着用户能访问应用中的哪些功能;
    • Realms相当与数据源的管理
    • SessionManager 会话管理器

    使用流程

    shiro使用流程
    • 应用代码通过 Subject 来进行认证和授权,而 Subject 又委托给 SecurityManager;
    • 我们需要给 Shiro 的 SecurityManager 注入 Realm,从而让 SecurityManager 能得到合法的用户及其权限进行判断。

    总结

    网上的教程https://www.w3cschool.cn/shiro/co4m1if2.html
    其实这么多就回答三个问题

    • 1.shiro能做什么
    • 2.shiro内部的构造到底怎么样
    • 3.如果我们上手shiro的话,大概思路是什么样的

    相关文章

      网友评论

          本文标题:shiro(一) 框架

          本文链接:https://www.haomeiwen.com/subject/bmeufqtx.html