最近因为使用需要开始学习shiro框架。这是我接触的第一个安全的框架,因为没有学习过其他的,因此在我这里没有可对比项。所以这个框架的好坏种种,暂且不论,只是学习。本篇博客将概括的了解一下shiro框架的内容。如果看完了很晕的话,没有关系先知道一下就好,后续博客会更详细的讲解。
简介
shiro是一个开源的安全框架,它提供了认证、授权、加密和会话管理的相关的安全管理功能。下图为shiro的四个顶级组件对应了各个安全管理功能。下图的蓝色部分是shiro的扩展性支持,这里不做过多介绍。
- Authentication:身份验证,就是证明用户他们“是谁”的过程。
- Authorization:访问控制,当用户“是谁”已经确定了,访问控制就需要确定“谁”可以“干什么”
- Session Management:会话管理
- Cryptography:加密
主要概念
- Subject:是当前用户的特定的安全“视图”,这里的用户不只是指人,也包括第三方服务。也就是说subject是指当前于软件交互的任何东西。
- SecurityManager:是shiro的架构心脏,并作为一种“总控”来协调内部安全组件共同构成安全控制空能。
- Realm:是shiro和数据库之间的桥梁,shiro所需要的数据都通过这个类去数据库获得。它实际上就是一个DAO,封装了数据源的详细信息。
Shiro的核心框架概念
这个图就比较清晰的反映了SecurityManager和各个组件之间的关系。
时间: 2024-11-08 02:25:28