shiro学习笔记(1)——shiro简介

     (一)综述 

     Shiro是一个强大、易于使用的认证、授权的安全控制框架。相对于spring security,shiro的学习成本更低,学习曲线相对平和,可以快速上手,并且应用于实际项目中。

     Shiro可以帮我们完成与web集成、与spring集成、认证、授权、会话管理、缓存等常用功能。在学习shiro的同时,阅读其源码,有助于我们对java更加熟悉;在于spring集成,也有助于我们加强对spring的理解。

     但官方的文档较少(而且是英文),学习起来不大方便。故在此记录自己学习shiro的情况以及踩过的坑,一方面方便自己复习shiro,另一方面,希望给后面的学习shiro的新手提供一些资料。

     (二)整体流程

     shiro的基本功能图:

                   

    (1)Authentication:身份认证。判断用户的身份,验证用户是不是拥有合法的身份。

    (2)Authorization:授权,即权限认证。如:验证用户是否拥有某个角色。

    (3)Session Managemen:会话管理。 可以狭隘的理解为,会话的生命周期是,用户从打开浏览器到关闭浏览器。

    (4)Cryptography: 加密。对用户密码进行加密。

    (三)几个重要的概念

         从外部应用来看shiro是如何工作的。

              

      (1)Subject:用户,指当前用户。所有与Subject的交互都会委托到SecurityManager 。可以说Subject只是一个门面,SecurityManager才是真正的管家。

       (2)SecurityManager: 安全管理器。它是shiro的核心,所有与安全有关的操作都会与它交互。

       (3)Realm:数据源。SecurityManager要验证身份,就需要从Realm取出相应的用户来判断当前用户的身份(如:超级管理员、管理员、用户、游客等等)。SecurityManager要验证用户的身份,也需要Realm中得到所有用户所拥有的身份。

    (四)总结

      shiro的验证流程不算复杂。这一节我们大概了解了shiro功能、基本的概念。

猜你喜欢

转载自blog.csdn.net/weixin_39454194/article/details/82985974