daily20170824 权限表的设计权限框架之shiro - wtdig/study GitHub Wiki

权限控制之权限表的设计

1、之前的设计:

一个用户表,一个权限表,(多对多关系)当给用户进行授权时,需要进行大量数据的删除和增加

2、之后的设计:

增加一个角色表,用户表与角色表进行关联,角色表与权限表进行关联。根据业务的需求,权限表可以在进行细分,可以对应相应的资源。

这样设计的目的:增加一个角色表后,角色表和权限表的数据一般是不会变更的,这样进行用户授权时,只需操作用户表与角色表,避免不需要的资源变动


shiro框架的概念

一些静态资源的权限控制,通过shiro框架提供的过滤器链,调用相应的过滤器,将符合规则的资源拦截或者放行

subject 用户登录的对象(当前登录的用户)

该对象存储了用户登录的密码和账号(采用令牌的形式,token)

Secret Manager 对象:获取用户的subject后,调度realm对象去数据库查询用户的相关信息

realm对象,数据的桥梁,负责与数据库进行交互,realm可以进行用户的认证和授权

⚠️ **GitHub.com Fallback** ⚠️