优雅设置账号只能使用读类型的 API

2021-11-18 14:20:06 +08:00
 bk201

现在要对一些特定账号做只读限制,也就是所有涉及到更新,删除数据库的操作要全部拦截掉,返回无操作权限。只保留读取类的 API 可以使用。怎么做比较优雅。数据库有 mysql ,hbase

2023 次点击
所在节点    Java
12 条回复
harde
2021-11-18 14:38:10 +08:00
意思是以前完成没有权限控制,现在要新加么???

原来什么框架啊? Spring ?没有框架? 这问题从何答起啊
bk201
2021-11-18 14:39:22 +08:00
@harde 是的,之前并没有。目前 springboot 框架
harde
2021-11-18 14:43:33 +08:00
@bk201 spring security 或 shiro 满足不了?
bk201
2021-11-18 14:46:47 +08:00
@harde 接口太多了,没耐心一个一个去整理。只是想涉及到更新操作的全部拦截,比如用 mybatis 拦截器拦截。
harde
2021-11-18 15:17:54 +08:00
然后还要"优雅"?,恕在下不能理解。。。。
WangZiyue
2021-11-18 15:24:21 +08:00
mysql 搞个只读的账号
WangZiyue
2021-11-18 15:26:15 +08:00
mysql 搞个只读的账号
mbp 用个多数据源的插件
想办法写个筛选走不同的数据源
marcong95
2021-11-18 15:28:31 +08:00
如果是 restful api 的话,你可以考虑拦截所有 POST PUT PATCH DELETE 请求

当年我一只前端啥都不懂公司让我搞这东西我就这么干了
aguesuka
2021-11-18 16:37:32 +08:00
aop 拿到事务和是否为特定用户, 如果是就 setReadOnly(true)
cnit
2021-11-18 17:36:31 +08:00
Ctrl + Shift + R 批量替换加注解呀,要不就是切面到数据操作层判断。
jamesxu
2021-11-18 18:21:39 +08:00
@marcong95 这个不一定行的通,很多项目接口全是 post
bk201
2021-11-23 19:31:38 +08:00
@aguesuka
@WangZiyue
@cnit 同步可以这么操作,因为可以拿到用户信息,异步怎么操作

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX