作者以及各位大佬们好,有关于我么系统的权限问题想请教一下各位:
一、关于系统本身的鉴权的理解
拜读了作者大大的源码以后发现,我们实现PreAuth注解,然后通过AOP的方式对进入各个微服务的请求进行权限控制,只要我们引入blade-core-secure包即可,在blade-core-secure会通过SPL表达式进行SQL查询(或者读取Redis缓存)
二、关于鉴权产生的疑问
默认我们配置了Spring.DataSource是我们的Bladex库,所以引入了上述secure包以后,我们集成进来,访问的也是我们的Bladex的数据库,但是如果我们配置了Spring.DataSource为我们自身的业务数据库,再去引入secure包的话,jdbctemplate是不是就会使用我们业务数据库的连接配置呢。
二、个人思考解决方式
1. 通过多数据源的方式: 在每个需要连接业务数据库的服务模块,我们配置多数据源,默认数据源选择Bladex数据库,然后配置一个业务数据库的数据源,在Service的方法实现类上,加上@DS的注解选择业务数据库
2. 通过Fegin访问方式: 在原有的blade-system里面已经提供了ApiScopeClient的访问,我们抽离处一个包,做AOP拦截时候访问ApiScopeClient来做鉴权
3. 底层改了secure模块,然后去指定template模板加载
二、你期待的结果是什么?实际看到的又是什么?
如果我的疑问不存在,那么麻烦作者大大告诉下,如果我得疑问确实存在,想请各位大佬们帮忙指导一下该用怎么样的方式解决这个问题比较好呢?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
商业版本 Bladex , 2.4.0版本, Windows系统
扫一扫访问 Blade技术社区 移动端