一 .概述
shiro是一个权限框架,其核心就是认证和授权.
我们使用shiro的一个根本性的原因就是shiro的扩展是十分容易的.
这也决定我们的学习的重点是如何进行shiro的扩展.
其实.单纯的学习shiro根本没有意思,在现实的情况下我们总会扩展功能,这就决定我们学习shiro就需要有一个
整体的认知.
上图就是shiro的核心架构:我们可以看到核心的功能就是:
认证,授权,session管理,加密.
附属的功能:web支持,缓存支持,并发支持等.
认证 :
我们可以简单的理解为登录.登录就需要账号和密码,广泛的讲就是需要一个主体信息,一个认证的凭证.
授权 :
在用户认证成功之后,系统就会知道用户所有的权限,这就是授权的功能.
三 .shiro的组件架构
从上图我们可以知道shiro的所有组件都被封装在SecurityManager之中,我们可以重写任何一个组件实现自己的功能.
我们使用Subject{代表当前用户}与这些组件进行交互,实现授权,认证,缓存等功能.
shiro通过Realm获取数据源,也就说我们以后需要重写Realm来完成数据的供给.
总结 :
[1]shiro的核心:认证和授权.
[2]我们通过Subject与SecurityManager交互,实现各种功能.
[3]SecurityManager封装了很多组件,如加密器,Session管理器,认证器,授权器等,我们可以重写这些组件实现自己的业务逻辑.
[4]shiro的一切数据来源都来自Realm,我们通过重写Realm给shiro提供数据.[账号,密码信息,权限信息等].
总的来说,我们学习shiro有两个注意点.
[1]了解shiro的中的组件
[2]重写组件实现自己的业务功能.