数据权限配置
修改请求参数或返回值。动态条件
。AuthorizeDefinition
)中,permission和action不能为空。permission
和action
进行关联的,在权限信息(Authentication(permissions[{dataAccess:[ 数据权限配置 ]}])
)中保存用户设置的数据权限。数据权限配置在权限(Authentication
)初始化的时候根据具体的AuthenticationManager
实现进行初始化。DataAccessConfig
接口由action
和type
字段组成.action
用于标识在进行什么操作的时候需要进行数据权限控制,和RBAC权限中的action对应。 type
为配置类型的标识。具体的数据权限控制配置,需要实现此接口。DataAccessConfigConvert
实现进行初始化。使用DataAccessConfigConvert
的目的是:数据权限的配置是动态的,配置的来源也不同,可能是配置文件,数据库或者jwt,使用DataAccessConfigConvert
接口,可以灵活的拓展各种数据权限配置。hsweb-authorization-basic
模块实现了DataAccessController
来进行数据权限控制,获取spring容器中所有实现DataAccessHandler
接口的bean. DataAccessHandler
就是具体的控制实现。在接收到请求的时候,如果需要进行数据权限控制(permission
和action
匹配的DataAccessConfig
),使用策略模式依次调用DataAccessHandler.isSupport(DataAccessConfig)
方法,判断DataAccessHandler
是否支持,如果支持,则调用DataAccessHandler.handle
方法完成控制。DataAccessConfig
接口。 2. 创建DataAccessConfigConvert
实现类实现对应方法并注入到Spring。 3. 创建DataAccessHandler
实现类实现对应方法并注入到Spring,