Create grant procedure for grant roles validating
This commit is contained in:
parent
43626ebec3
commit
988f793598
@ -11,6 +11,7 @@ from scripts import loggorilla, saltedkey, googly, tokenguard, s
|
|||||||
|
|
||||||
import procedure.validation as procedure_validation
|
import procedure.validation as procedure_validation
|
||||||
import procedure.webmail as procedure_webmail
|
import procedure.webmail as procedure_webmail
|
||||||
|
import procedure.grant as procedure_grant
|
||||||
|
|
||||||
class auth:
|
class auth:
|
||||||
|
|
||||||
|
15
procedure/grant.py
Normal file
15
procedure/grant.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
def is_grant_allowed(my_roles, target_roles, allowed_grant):
|
||||||
|
allowed = {
|
||||||
|
role
|
||||||
|
for r in my_roles
|
||||||
|
for role in next((g['allowed'] for g in allowed_grant if g['roles'] == r), [])
|
||||||
|
}
|
||||||
|
return all(role in allowed for role in target_roles)
|
||||||
|
|
||||||
|
def get_disallowed_roles(my_roles, target_roles, allowed_grant):
|
||||||
|
allowed = {
|
||||||
|
role
|
||||||
|
for r in my_roles
|
||||||
|
for role in next((g['allowed'] for g in allowed_grant if g['roles'] == r), [])
|
||||||
|
}
|
||||||
|
return [r for r in target_roles if r not in allowed]
|
Loading…
Reference in New Issue
Block a user