1、现存问题
认证(登录):操作流程差不多,但是回回要重新写一遍,太浪费
授权:如果权限控制粒度比较粗,可以自身去实现,但是如果控制粒度比较细,操作麻烦!
分布式会话管理:单体项目,依赖Web容器的Session实现会话,
集群or分布式项目:手动去基于Redis或者其他拥有公共存储能力的中间件实现分布式会话
单点登录:在一处服务登录,所有服务都信任他
2、Shiro的基本使用
Shiro的核心功能:认证和授权
认证流程:
授权流程:
realm:范围(基于内存存储用户信息)-----(SimpleAccountRealm)
IniRealm(基于文件存储用户名,密码,角色,等信息)(.ini文件)
1、构建Realm
2、构建SecurityManager绑定Realm
3、声明subject
4、认证
JdbcRealm:(数据库存储)
表的设计
CustomRealm(自定义Realm)