一、简单介绍一下Shiro框架
Apache Shiro是java的一个安全框架。使用shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。
三个核心组件:Subject、SecurityManager、Realms
Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程,后台账户(Deamon Accout)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。但考虑到大多数目的和用途,你可以把它认为是Shiro的用户概念。
Subjuect代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。
SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。
Realm:Realm充当了Shiro与引用安全数据间的“桥梁”或者“连接器”。也就是说,当用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户机器权限信息。
二、Shiro主要的四个组件
1、SecurityManager:典型的Facade,Shiro通过他对外提供安全管理的各种服务
2、Authernticator:对“who are you”进行核实。通常涉及用户名和密码。这个组件负责收集principals和credentials,并将它们提交给应用系统。如果提交的credentials跟应用系统