RBAC与shiro
java小课堂
分享人:李恪非
1.背景介绍
2.知识剖析
3.编码实战
4.常见问题
5.参考文献
6.扩展思考
7.更多讨论
1.背景介绍
RBAC
role-based-access-controller
基于角色的权限控制系统
三要素
user:用户
role:角色
permission:权限
如何建表
user-user_role-role-role_permission-permission
将显示外键转换为中间表,中间表中存放两表Id
尽量不用显示外键、耦合度太高
shiro
shiro是一款轻量级安全框架,具有完备的体系和较强的扩展性
利用filter对相应的权限做拦截,前台和后台都可以使用shiro
2.知识剖析
shiro的抽象概念
subject:当前用户
securitymanager:核心管理
sessionmanagere:会话控制
filter:自定义filter实现过滤器
用户的几种状态
guest
rememberMe
Authenticated
subject.support.DefaultSubjectContext_AUTHENTICATED_SESSION_KEY
subject.support.DefaultSubjectContext_PRINCIPLES_SESSION_KEY
自定义filter的实现
isAccessAllowed
onAccessDenied