From 2f983b1e3d3fa20cf653190d1979e42ac316f930 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Mon, 20 Oct 2025 14:12:06 +0800 Subject: [PATCH] bugfix --- models/organization.xlsx | Bin 17353 -> 17424 bytes models/users.xlsx | Bin 18533 -> 18568 bytes rbac/init.py | 7 +++++++ rbac/userperm.py | 4 +++- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/models/organization.xlsx b/models/organization.xlsx index aee1c44588d42264a14389c0e6762f8074a2e4d5..fd5a87b93cc7a9e2c151b64d269cf1d6b27e6f7f 100644 GIT binary patch delta 6899 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

m3_i_V_SQCxx1uyK^_WJFdo;T;7d`p!Eq{x(;w# z#eJ$8zp(%1q|0-{|1yyR>*B@ApG4x|u@5dSPa*~DqR{tu$L5I46K+$ALsPJl*=40P z@4e(36;jjxrl*Zb7^3S`IijZ9E1Y(z-9#Xx$k5CHMb$E}OGzr#{chn^upHpYBXl(h zjN2iB#EUQgpPwntKwi@Sw3pxV^uLE0Dg+8253&HngZta5gq#EMps6wbo+OdLBmK+a z<9jnfSdjiPrvK+001%D+_a;*bJd*#ly58jNU+(q4;|7u_!9x1KPRjoSF(LjNI2nQGl2>1vH2>vd-e(qk* zR_^Z3JpQgOB?hMMxsnuZh4qhbgSBuY3F6htm{6*8CG<_F+rL3+JmU2u-t*s#*FQc; zvxJS?%@kj1IIIw2}{Kbt*I(_z;wiA)HO z1{~Bm&v$OuVk#R_tFh_LaG$e532fCe5&QJhf9C0t7nh)Z=877Q3oi=p(r0H^txVL- z^xijm7vtTHRd0>4E=FV3Y=fDksJm6KEkUFzrehJBSzG5cce+l~k~c8ZB1D{)C0lEe zSK+Di0;Epv2Dle~@uvVb6P(O3;MNt%_7vei%2DXnacW$DQ;#=IafG@z)6vh1XSH`0`8dW&i=2*~XD@uPJs;Ez2;L01w#a0N zh<}dQVn_>v-wWm#e{|Rv|3n^u>V%ENTz#0@In|tG4sFTB~_pz1$ncflgVz&s# z=txo|?>mT7_ZfHHQsIDdJa0yKH`nY$n4!^iA2{U&@qDO{?7t0exLNVWh@eaR$JTS+ zEdofPQL|owETW;3#G-I7kq!ysAc7saBL zF1nRLFZHF&h!d?z_;^x#e5d@5R(h9I(x48^3lX)CM}=XQ4<5Qi&zfrGMZ}Vo>6Ke8 zTS!Jg{W9(3T_}uu4li{ps0-HY-A;N|;ooj_a`UUi{4g+*Mm!HpBp7?^ayXs9EgQJO z74;Ho*ZlfHcVX!YIa!0UwROQG+F zUF=T2cOVPnhPSgA?7zLyzpK>FO*Hkv1yehgn051*)uv$OoU zUK1LKzYvIJb)?~fo%0*@|9E2{`6b;$3Z6iIrrU{k2TlE>pPcp6C9^b}Yts}NPIB*1 z-M5`Gy-WQuw0afgKKg2`9eKlc+V4PlFF#904n$A!ibw1W9>ErgZ0?EKQEh>^e>6%J zZJ`dJE$?|2D*U{-A&&q}o@T!5P~346)%GY*GyB=*V}5Z$OujJRSh(ue!iECbRr)I;T!@oYV7iftg7$% z;_HNlTj5oyJ~xj~xcvC|1j>((!C9tm-2fj!WHr$ZQXCM*p~$hLL?FLfQH4=FQ{7fC z$^<*p%b5H5`9O=Yp^#_m>|o7b0uO$%SJr%(Bs_8+a-VlvE#e;ipeNm)RehswpR=%} zadQ@;lH1;f9};w%D<)~z2um{!d`3CL*yug>9#nn&yQgjcr-|2>$~%%b?jRV~0>Isk z=U`WRcAZ^&Gj?XuxUiZex!}O%)K2d_AIy3df#Sr;QLpsZF#k0hxp{53tBw7|@~=Z( ztezGQ%B#x94UQQ-8LZbhCx5JMfG3F9qpbfZzsl^f(l_SnSF#CK#!J+XtEHh#^R$ZU z+kzS`Le-M0W@SGPB~`5evLDrwE7zZY95_z=l8&6jA@(2Jy#7ERqnt@&I2fkf;Ap~( zPNnbl*G@Hh=Fy~`czbx|sU@$i$Knu6v4U+}*4O3i0kBY#h!w=k1Z zR9zic%lWdbSGBUmYihtCKH5`Avt6UgSz;dnr~Bc}7N#T^P2Y4T}}~ z#QDqXwL9A>#T&~vcQ^Lee=bD@uzwJ~d25U@=&S=SSCZA##-@j2EpiVlya^A`=%NAj zdnqb>q@iza?&HD0pwZC65Sc0d8}R+%rPx#J8`&yMP9PdpK;Y)4c$WQc^I1V~vV%hc z<9b!|TbKU8084-QrW-k-6!z@3g(ya!%Uhz)BLm7l*hFrt#NT47%?7%`hPwmR;rN*B%Eit9RY4-bp>!3PmJfU$|SlXMvXwts1cM`a1I= z=wgC90X zlfshPaheo<0(U%3Bcf|^Y^p=!xWy`v=5m+j@||`KMkl}^O00Gump2#KR6@_Wt2h9< zR#cqxHxYrwoSP*?_g@TEMrpQJ8s3iEVcIRu6pgN>Z?z0?s5C@nY1nABJC1CQz&T_y zD?)y`MTHoZL5h>QgU2}^G8}ZItCQZe8f0Hd7kbKF;w>X}Ebwcbnk)X&72R{C{-k1u zK9aRFHkaq=$zZw(kg^o=qraxaKTZTVmRQ+4Bx>UY_b>Bn?ufbEvN+M_^v>OVgIQ*` zY6n>;r{(MVY5|{S2c`m#;doI8&fDy)N{OL&33@Uz%=`D$xhQ5GZ;=QQtk*N{YYjRu zXj6C!t#t|?I(ozP!0ueD^YbryrPjJ})@~!?Jex7RusO9wLxlT-jwRUTh;4xyNb=Xq z@*Va}xFOi-(9(8_cPxi+AR%U0XaloaApCP_ zw!=u_=;wCJcW~<*pnDP3J|HwCXAVJbZTWC#!$-#=AaPZH(xUT6NG+-$IaL zvzU!tmIjHjysy5E9`3n>M>Td`Vu_v_>H6bU8FD-H^kdFhg%mlW&8DdA2J(E%532D7 z6a_t82U*9v1#-7NW5j4A#xo#vrjjMm`Z6q~p2JyMTR*#R5}MC6qtn@#9g`+Y zlEdkrV_Xz@>SDO5m|XJ=z>>9YutL7=9osK6DUOCEFn0u;wN`KW(K;91zw1m1yW}5G}z^u^II@_RBch zB-3qR%KS$#D>E`NPX}r4gd3l0nRluzu1r2sn*{El3TGl!R~=;n7>|4nJMRxQAldW% zWMg>+@fp+=vNubT@J?k)neCGY%}{Bf;#FxD31X58NMWC&PE3!9Xf;NIC0!*6LZHCo zGxV~b@68vkju*SgD!M4i{Bg4~_G>@vqMk3;sM0nxghp+W5JZsv`SXF_LPF!9#Mgl& z{4EYxwR>Fub(ulV^l==+_s>+L)7ql4^4QalEWGE1NXp3UQxs{VV z_go8?>W&wd0OZxYLq*>^r_XqXW|eJaPB5|SJ4fK^6_KITjd#;;Oxl@{V^qf6t zpjKM}we-AUm2Yt1ak-Syw`Z9MD=7KoT|*#;XI${&!-Mi0vBYN3FK1u$AHadg1=;hC zie*FWGpHeWKEGkSZw-g*1v-8ZbVk+_GeL%&GIQdxr0dqMrVja2ac2?%exq;r)N(`9 zN^Q&C>r;&3NyffOMGYk0PW^pp*=?O<)OZ@oD4UC^l|kCyboUK#GM+?j>&lLfqC+0X z*Sh1sF^uBdg%~Xd;sR2f&9{U6ZhB)2h6VdB~C^fu;(;b0$7!?$O=A2kmq+* zW##ad_x)O#;~W@SK}kyClnY12eqQ*H=LY9kB?c@ z-o4I$2sLbIoC?V}?W%rrF&6Qmfn2gFiM!esA}~6uepU09LdTGk!o-9uxE`N! z2j3t$`}(6U74f>mcuIiOxi!}2+s}PG1%sJg`EJ@Nf}1b>*GSKn^si6cOFqQO;?&Xq z`BW2?m0qLP-AJk0%1Ho}7%9CWyL*HaLNjA~_UDYmDY1$VAbm(No_~~nCeWsS*C~A4 z-{&I)!3NP)E-v;gwe4HFzgTpU19cXvUK2~Y<7cg{QW2Z(f(FWKoyxwI2vxF3KEnKQ&b zK=R@9NQetk{;)lj^w)$(WJsq33Gi~57=!Z(X*>uK5ODva0(kobxY&CCeFle(ez>iH zNEXSrWiWnA1RCiw^_*JJfIATczayxIxjDww#p#x)>x4-v`7OSgOWFRiH#fXIi~vtG z+qHBg67kIgv&u50wX|;iMn7T}4AI{hZlbUI5Dp%YhNa5+Gw2Q(0))3G;MStANOpPeChbJaToxSO0JNXZ==Wpz*2o36Fg-Md zPY4S#Ds3ZIXQ4m=qmx{r_mxE(V;&}V0IS^mJ(LbLxGeEN_xA)l9x;r45=n_E#nPhw zXl4PINi?Qzs>G4oPd1SGWZJiNjhrO>ryk766zA&{1!es13y1vt7|ZRs%VuG`-w2_5 zLa!QEGs;RB0LRGtz=-$Ag6E^+(Wd|(Mi3e;A4b32wuGg{Yd7uOt9zW$!c@5ftk?(L z0g@bj!&RE&U_s$rfpqo(I#okwxSka0T zK&}mda)9lOIn6VKEhLTLQ5Q>TNj?21RIAorRdm2}k?+!FePIVr;_+vr^A_;h;Z6!p z(iq6=RQWhkBvokthHgGf$xqG4{8J7Cyk$@0D{%lf6C6Q~t{#d!f;~U=!8vqF(64P| z-0wX`$j$XhVMi!keTuCrCCzz`RM{BWH_{J)VAU<2%MN4dFY<{Nkt6L+MD{_C!O4q5 z>&V+HKc-S!yw~3{1GU^Eq56vD08oi9)mY81Qo2Oup&M4FqefL^&bzhsXH~#gIZPN| z`7qo6<9IHwazPNkIoImA*XM*~w3#)qN%G!;B#p3(pDtgM{Ez9`clY`-IT;K*p$D3n#LM1*-z8sUIZx;%>LW8m}up>HR^l&%{Ge3TCQGT1z?G34ipJ*ikKh z!a{_B4f?d|%Pk>VaE2_m2L0X}P2jpN1(V1r zYhvimZZw;i)ZwrX_!LG}n9=8ScryLvy))NwF{$JCbhe@F&ALzE?%!rTe75YU!62*3 zqDycr>UXJIzf2bst%+5tyiH%2t8(`?8X;#z3E)_i;lK|V&-9&UcDLYr4xx$}-7{Yo zo;%K8Bxo38Ip?v%DF*kqZ|d$TbNPADe%ZneEmt#M%?^41Z&~$DrPWV-ESOnm*Yj&! z-bNkNomFvp-HPmfA?y>y`N6L2#?RjS zw4VZQdhB5^Nb=3U>5)iW`%Pt$vtgf0_&w&LV)j5765(x(2aZG&dQ|mtk^R+Ob|BHO zI{KrV)~n-j;PS>$-Qaguo6cC>F=?pwcFEgx_e>e?(dY(uyGIN!(|}+>T-8V&mEJT5 z%671eLa6Lf#=e9FC>bU+l+Mmi5EuU30P@D{xlL7i>Jb_Ij}h~B_)f6BkaJ} zWi4KO-A~==__!rsohR0Sb;sf>-YaFV&L7KqHChR&bzRVrIJEA)C+XlVFuQ|R2rO2i zd=SVA$3&MjGIU!2_1k;t^|NFX%_B(J&D{EJ zgoYI#Xi}8JeJ!ScgC>)*2$G@kGKYJI`{PUH0dUruRR^}XNt}#2p zO`S3p3znVRYQLx15cw+|LaltsE{#54kReaKT`rFQtH1##a~{~_e2UP{>}gE5JF^?ln}ij(Ml{d|NVddpJ{;% z|CCyMD)rx=ng5ye9fGUOO8x&*kpG(jhG;2^Bj!Wmm9>!y`Ti+b&4&uPR3@PQ7i0dv z^Myg^!Agjg5PPsJ;ufSF%=n+n2N?&GBF;lL!O}?fau5qSc8Hb=0h+zS-){d4Q8MuO delta 6330 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

Z?%UZe-{s3PWijJ* zFSZ>23C|}-pEl$@;w`B)Bo@ncyHwrwy@?&JX&UX;>ONCq3E`@9%yIf+-r&Z+hxhto zYXZNz1;OmR+KO*dl733tuub5Cz{R}HPY0t_iBMlmmos3CBSJ`cC*u#A&pb>*2q4jq zL$%sRXNBdL4V8)U=v}*3Y`dWMy5LLlzj8u3?&?3H93dyr9v++21};QepWruRKQX5=QBRIn?Q_?60)4r9952<1{EzcGQ)~+24B8So<;8j72eU10ZOyBY6uI2>SA#^b#Ns?A5Mz-f| zmx`)ooWT1$rc4hp^E4Sdx4vHG=8AhxwHz?6AEodS5c+H-OTRNni=Er?BE_xl zQMLXcUW<3@J*oKfv+@Fm`98;x8_L?KiGd&#qN@lOJU?%wu#eyD5EmWd``n06ljr`@ zn@5P>z@?q)+)`(VmW<6B*G&N*9OYU2i@Q2e`uX;ZZju4@@4rR`Gq4I1Bbg_`HwlRF zo5-dYu$`cxQ3OlMX2z%jb(jfTy=S^SRIC*tW<)uhHzN9BLD577A{?1T?mAP(5VqLF1fKrhK=RY0{DfC`Eb&aPS;R)k5)f=^ zO^hCr{2e#*!1#6QT1#033i@Al9WJe)jeHGHQsAQbUsdlxZvV&b2>xn(2MW9>wWNQS z0*Yib|0@mrLw;CLQT!$ODDoov!AlicY5o~hvHz$D|F#gOKh$Ih8TCK2$%E2Q`fmzS z6`T*k#`d?@c&HLCL`X;vh2mdE&-M4$fSbFIqm3IJ8A1v#=Ox7bFTo#P33-kj2)~1H z(fn_%`7Z|v$wKh&p^cPyk)z?!N>7pd;KNGH)PG+>WF(|lC`d>Tk^f~)aBO91WCggg MvN(o<{GW~g04|xczyJUM diff --git a/rbac/init.py b/rbac/init.py index 0b9a4ff..c37aa20 100644 --- a/rbac/init.py +++ b/rbac/init.py @@ -2,6 +2,12 @@ from ahserver.auth_api import AuthAPI from ahserver.serverenv import ServerEnv from rbac.check_perm import objcheckperm, get_user_roles, checkUserPassword, register_user, register_auth_method, create_org, create_user from rbac.set_role_perms import set_role_perm, set_role_perms +from rbac.userperm import UserPermisions + +async def get_owner_orgid(sor, orgid): + env = ServerEnv() + dbname = env.get_module_dbname() + return '0' def load_rbac(): AuthAPI.checkUserPermission = objcheckperm @@ -14,5 +20,6 @@ def load_rbac(): env.set_role_perm = set_role_perm env.set_role_perms = set_role_perms env.register_auth_method = register_auth_method + env.get_owner_orgid = get_owner_orgid diff --git a/rbac/userperm.py b/rbac/userperm.py index dce1601..8f2c291 100644 --- a/rbac/userperm.py +++ b/rbac/userperm.py @@ -1,5 +1,6 @@ import time from sqlor.dbpools import DBPools +from appPublic.Singleton import SingletonDecorator class CacheUP: def __init__(self, userid, paths): @@ -14,7 +15,8 @@ where a.id = c.userid def get_paths(self): self.touch_time = time.time() return self.paths - + +@SingletonDecorator class UserPermisions: def __init__(self, max_cache_user=10000): self.max_cache_user = max_cache_user