1.因为有接近 10 个不同的 python 算法模块,希望使用 flask ,封装成 restful 接口给其它人使用
2.希望可以提供这样的编程方式
当用户发了一个 post 请求,比如 https://xxx.com/xxxCreate 后,从 cookie 得到 token (已经有了主系统,登录什么的已经做好了,这个是 token 是用户登录成功后的凭证), 根据 token 从数据库查询当前用户的权限列表: ["module1:func1:create", "module1:func1:delete"]
(1) 这个 id 查到的权限列表里面有 "module1:func1:create",就放行,执行 myCreate(myobj) (2) 这个 id 查到的权限列表里面没有 "module1:func1:create",直接返回:{"result": "err", "reason": "need permission"}
有木有简单的解决方案,两三个库组合也行,不要太重的,python 只写过不到 100 行规模的程序,万分感谢
1
fff333 2022-04-27 23:21:22 +08:00 via Android
drf
|
2
lidage 2022-04-28 01:01:00 +08:00 via iPhone
fastapi
|
3
cz5424 2022-04-28 01:07:23 +08:00
fastapi 和 flask 都可以,权限要自己实现,drf 很重,但是后期加 restful 接口很快
|
4
windvans 2022-04-28 08:54:30 +08:00
这就是 flask 的代码吧
|
5
wjx0912 OP @cz5424
谢谢 第一次知道 fastapi ,看了下介绍好像是个异步框架。直觉 hold 不住,资料也没有 flask 多,先暂定 flask 吧 权限要自己实现--->对的,flask rest 的例子很简单。现在的问题就是权限想做的更方便一点(权限服务有个 java 后端已经做好了),能够和业务解耦 看到 Blueprint 有个 before_app_request 的装饰器,在这里面验证权限可以吗: ![]( https://user-images.githubusercontent.com/5556482/165659396-2fec00de-7654-4b49-b5ee-7b471de2b1c9.png) 基础有点差,还请不吝指导~~~ |
9
Baloneo 2022-04-29 11:28:07 +08:00
|
10
frostming 2022-05-01 22:56:58 +08:00
APIFlask https://apiflask.com/
|
11
lolizeppelin 2022-05-02 18:57:19 +08:00
WebOb+Paste+PasteDeploy+pecan
手动狗头 23333 |
12
lolizeppelin 2022-05-02 19:01:44 +08:00
你这需求...其实用 openresty 做最好
nginx 里用 lua 解析 token 后 proxy pass 就是 写法还能改的话参考 oslo_policy 怎么做的 |
13
wjx0912 OP |
14
wjx0912 OP @lolizeppelin
openresty 不错的思路,以后要是重构的话估计考虑它,谢谢 |