什么是shiro?
shiro是一个apache组织下的安全框架,能够帮我们实现认证,授权,加密,会话管理,web集成,缓存等功能,但是具体的认证逻辑和搜权逻辑需要开发者自己实现。
shiro架构图

Subject:主体(当前用户)
principals:身份(一般是用户名或者用户id)
credentials:证明(一般是密码)
SecurityManager:安全管理器,门面类
Authenticator:认证器
Authorizer:授权器
Relam:提供授权信息和认证信息的类,需要开发实现
SessionManager:会话管理器
SessionDao:存储session的数据
CacheManager:缓存管理器
Cryptography:密码模块
Shiro过滤器
anon,匿名登录
authc,认证登录才能使用
roles,角色
perms,权限
Shiro注解
RequiresRoles,需要用户有某种角色
RequiresPermissions,需要用户有某种权限
Shiro认证流程
Shiro鉴权流程
Shiro
relam
authenticateRelam
authorizingRealm
使用了模板设计模式
