Compare commits
2 Commits
d07ba9fbdb
...
668e29b579
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
668e29b579 | ||
|
|
f3caac310d |
@ -160,32 +160,13 @@ where c.userid = ${userid}$
|
|||||||
userid = await getAuthenticationUserid(sor, request)
|
userid = await getAuthenticationUserid(sor, request)
|
||||||
uperm = UserPermissions()
|
uperm = UserPermissions()
|
||||||
ret = await uperm.is_user_has_path_perm(userid, path)
|
ret = await uperm.is_user_has_path_perm(userid, path)
|
||||||
roles = await uperm.get_user_roles(userid)
|
"""
|
||||||
rp_keys = [k for k in uperm.rp_caches.keys()]
|
if not ret:
|
||||||
debug(f'{userid=}, {path=} permission is {ret},userroles={roles}, {rp_keys}')
|
roles = await uperm.get_user_roles(userid)
|
||||||
|
rp_keys = [k for k in uperm.rp_caches.keys()]
|
||||||
|
debug(f'{userid=}, {path=} permission is {ret},userroles={roles}')
|
||||||
|
"""
|
||||||
return ret
|
return ret
|
||||||
"""
|
|
||||||
|
|
||||||
perms = await sor.R('permission', {'path':path})
|
|
||||||
if len(perms) == 0:
|
|
||||||
debug(f'{path=} not found in permission, can access')
|
|
||||||
return True
|
|
||||||
if userid is None:
|
|
||||||
debug(f'{userid=} is None, can not access {path=}')
|
|
||||||
return False
|
|
||||||
|
|
||||||
recs = await sor.sqlExe(sql, {'path':path, 'userid':userid})
|
|
||||||
for r in recs:
|
|
||||||
id = r['id']
|
|
||||||
if id is not None:
|
|
||||||
debug(f'{userid=} can access {path=}')
|
|
||||||
return True
|
|
||||||
debug(f'{userid=} has not permission to call {path=}')
|
|
||||||
return False
|
|
||||||
e = db.e_except
|
|
||||||
debug(f'objcheckperm() error happened {userid}, {path}, {e}\n{format_exc()}')
|
|
||||||
return False
|
|
||||||
"""
|
|
||||||
|
|
||||||
registered_auth_methods = {
|
registered_auth_methods = {
|
||||||
"Basic ": basic_auth
|
"Basic ": basic_auth
|
||||||
|
|||||||
@ -8,6 +8,7 @@ async with get_sor_context(request._run_ns, 'rbac') as sor:
|
|||||||
d.append(f'{r.orgtypeid}.{r.name}')
|
d.append(f'{r.orgtypeid}.{r.name}')
|
||||||
d.append(f'{r.orgtypeid}.*')
|
d.append(f'{r.orgtypeid}.*')
|
||||||
d.append(f'*.{r.name}')
|
d.append(f'*.{r.name}')
|
||||||
|
debug(f'roles={d}')
|
||||||
d = sorted(list(set(d)))
|
d = sorted(list(set(d)))
|
||||||
return d
|
return d
|
||||||
return []
|
return []
|
||||||
|
|||||||
@ -10,6 +10,7 @@ async with get_sor_context(request._run_ns, 'rbac') as sor:
|
|||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
d.append(f'{r.orgtypeid}.{r.name}')
|
d.append(f'{r.orgtypeid}.{r.name}')
|
||||||
|
debug(f'roles={d}')
|
||||||
d = sorted(list(set(d)))
|
d = sorted(list(set(d)))
|
||||||
return d
|
return d
|
||||||
return []
|
return []
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user