From e8243d6b0c33e3787f01228dd0501ee5b6da49f0 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 11 Feb 2025 11:02:50 +0800 Subject: [PATCH] bugfix --- json/users.json | 4 +--- rbac/check_perm.py | 22 ++++++---------------- wwwroot/user/register.dspy | 1 - wwwroot/user/up_login.dspy | 3 +-- wwwroot/user/user_menu.ui | 2 +- 5 files changed, 9 insertions(+), 23 deletions(-) diff --git a/json/users.json b/json/users.json index 1dca47c..ed1b2d3 100644 --- a/json/users.json +++ b/json/users.json @@ -1,11 +1,9 @@ { - "models_dir": "${HOME}$/py/rbac/models", - "output_dir": "${HOME}$/py/sage/wwwroot/_a/users", - "dbname": "sage", "tblname": "users", "title":"用户", "params": { "sortby":"username", + "confidential_fields":["password"], "logined_userorgid":"orgid", "browserfields": { "exclouded": ["id", "password", "orgid", "nick_name" ], diff --git a/rbac/check_perm.py b/rbac/check_perm.py index 8a96863..83b770f 100644 --- a/rbac/check_perm.py +++ b/rbac/check_perm.py @@ -9,6 +9,7 @@ from appPublic.log import debug, exception from appPublic.dictObject import DictObject from appPublic.uniqueID import getID from ahserver.auth_api import AuthAPI, user_login +from ahserver.globalEnv import password_encode from ahserver.serverenv import ServerEnv, get_serverenv, set_serverenv import jwt @@ -55,7 +56,8 @@ async def get_user_roles(userid): roles.append(r.name) return roles -async def get_owner_orgid(sor): +async def get_owner_orgid(sor, *args): + debug('uyyyyyyyyyyyyyyyy') global ownerid if ownerid: return ownerid @@ -66,16 +68,6 @@ async def get_owner_orgid(sor): ownerid = recs[0].orgid return ownerid -def mypassword(passwd): - config = getConfig() - key = config.password_key or default_password_key - return password(passwd, key = key) - -def myunpassword(passwd): - config = getConfig() - key = config.password_key or default_password_key - return unpassword(passwd) - async def create_org(sor, ns): await sor.C('organization', ns) otns = { @@ -100,6 +92,7 @@ async def register_user(sor, ns): if ns.password != ns.cfm_password: debug('password not match') return False + ns.password = password_encode(ns.password) id = getID() ns.id = id ns.orgid = id @@ -111,8 +104,6 @@ async def register_user(sor, ns): def load_rbac(): AuthAPI.checkUserPermission = objcheckperm env = ServerEnv() - env.password = mypassword - env.unpassword = myunpassword env.get_user_roles = get_user_roles env.check_user_password = checkUserPassword env.register_user = register_user @@ -145,7 +136,7 @@ async def getAuthenticationUserid(sor, request): auther = BasicAuth('x') m = auther.decode(auth) username = m.login - password = mypassword(m.password) + password = password_encode(m.password) sql = "select * from users where username=${username}$ and password=${password}$" recs = await sor.sqlExe(sql, {'username':username,'password':password}) if len(recs) < 1: @@ -172,8 +163,7 @@ right join userrole c on b.roleid = c.roleid where c.userid = ${userid}$ """ - rf = RegisterFunction() - dbname = await rf.exe('get_module_dbname', 'rbac') + dbname = await get_dbname() db = DBPools() async with db.sqlorContext(dbname) as sor: perms = await sor.R('permission', {'path':path}) diff --git a/wwwroot/user/register.dspy b/wwwroot/user/register.dspy index 00b911d..e3e7eea 100644 --- a/wwwroot/user/register.dspy +++ b/wwwroot/user/register.dspy @@ -9,6 +9,5 @@ async with db.sqlorContext(dbname) as sor: except Exception as e: fe = format_exc() exception(f'{e=}\n{fe}') - raise e return UiMessage(title="Success", message="register success") return UiError(title='Error', message="register failed") diff --git a/wwwroot/user/up_login.dspy b/wwwroot/user/up_login.dspy index 2b27374..0a7a8eb 100644 --- a/wwwroot/user/up_login.dspy +++ b/wwwroot/user/up_login.dspy @@ -1,9 +1,8 @@ debug(f'{params_kw=}, {password=}') -await rfexe('password', params_kw) ns = { "username":params_kw.username, - "password":params_kw.password + "password":password_encode(params_kw.password) } info(f'{ns=}') diff --git a/wwwroot/user/user_menu.ui b/wwwroot/user/user_menu.ui index 254e19d..8c0ad70 100644 --- a/wwwroot/user/user_menu.ui +++ b/wwwroot/user/user_menu.ui @@ -17,7 +17,7 @@ { "name":"myacc", "label":"我的账户", - "url":"{{entire_url('myaccout')}}" + "url":"{{entire_url('myaccount')}}" }, { "name":"mybill",