feat: set_role_perm.py 支持 SAGE_RBAC_DB 环境变量指定目标数据库
解决独立应用(如CMS)的RBAC数据库不匹配问题: - set_role_perm.py 原来硬编码 'sage' 数据库 - 独立应用 get_module_dbname 返回自己的数据库(如 ocai_cms) - 导致写入 sage 但读取 ocai_cms,权限检查失败 - 现在通过 SAGE_RBAC_DB 环境变量指定,默认仍为 sage
This commit is contained in:
parent
3ec2798abb
commit
b2bb281559
@ -1,3 +1,4 @@
|
|||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
import asyncio
|
import asyncio
|
||||||
from sqlor.dbpools import DBPools
|
from sqlor.dbpools import DBPools
|
||||||
@ -34,7 +35,8 @@ async def main():
|
|||||||
|
|
||||||
role = sys.argv[1]
|
role = sys.argv[1]
|
||||||
path = sys.argv[2]
|
path = sys.argv[2]
|
||||||
async with db.sqlorContext('sage') as sor:
|
dbname = os.environ.get('SAGE_RBAC_DB', 'sage')
|
||||||
|
async with db.sqlorContext(dbname) as sor:
|
||||||
perms = None
|
perms = None
|
||||||
if '%' in path:
|
if '%' in path:
|
||||||
perms = await sor.sqlExe("select * from permission where path like ${path}$", {'path': path})
|
perms = await sor.sqlExe("select * from permission where path like ${path}$", {'path': path})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user