您的位置:首页 > 其它

Shiro安全框架01:核心概念

2019-06-04 17:29 381 查看

核心类:

Authentication
    身份认证/登录,验证用户是不是拥有相应的身份;

Authorization
    授权,即权限验证,验证某个已认证的用户是否拥有某个权限;

Session Manager
    会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;

Cryptography
    加密,保护数据的安全性

Web Support
    Web支持,可以非常容易的集成到Web环境;

Caching
    缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;

Concurrency
    shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing
    提供测试支持;

Run As
    允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me
    记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

主要概念

Subject 

        当前的操作用户
            可以是人
            爬虫
            当前跟软件交互的东西
        在shiro当中我们可以统称"用户"
        在代码的任何地方,你都能轻易的获得Shiro Subject。
        一旦获得Subject,你就可以立即获得你希望用Shiro为当前用户做的90%的事情
            登录、退、访问会话、执行授权检查等 

SecurityManager

        SecurityManager则管理所有用户的安全操作
        引用了多个内部嵌套安全组件,是Shiro框架的核心
        你可以把它看成DispatcherServlet前端控制器。
        用于调度各种Shiro框架的服务

Realms

        Realms则是用户的信息认证器和用户的权限认证器
        执行认证(登录)和授权(访问控制)时,Shiro会从应用配置的Realm中查找很多内容
        Realm 可以理解为读取用户信息、角色及权限的 DAO
        SecurityManager要验证用户身份与权限,那么它需要从Realm获取相应的信息进行比较以确定用户身份是否合法;
        可以把Realm看成DataSource,即安全数据源。

名词介绍:

subject:主体
    主体可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。 
securityManager:安全管理器
    主体进行认证和授权都是通过securityManager进行。 
authenticator: 认证器
    主体进行认证最终通过authenticator进行的。 
authorizer: 授权器
    主体进行授权最终通过authenticator进行的。 
sessionManager:会话管理
    web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。 
sessionDao:
    通过sessionDao管理session数据, 
cacheManager: 缓存管理器
    主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和 ehcache整合对缓存数据进行管理。 
realm: 领域
    相当于数据源,通过realm存取认证、授权相关数据。 
cryptography: 密码管理
    提供了一套加密/解密的组件,方便开发。比如 提供常用的散列、加/解密等功能。 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: