File tree Expand file tree Collapse file tree 1 file changed +4
-5
lines changed
superset/stackable/patches/4.0.2 Expand file tree Collapse file tree 1 file changed +4
-5
lines changed Original file line number Diff line number Diff line change 11diff --git a/superset/security/OpaSupersetSecurityManager.py b/superset/security/OpaSupersetSecurityManager.py
22new file mode 100644
3- index 0000000000..6ff95b62b7
3+ index 0000000000..b3f216c405
44--- /dev/null
55+++ b/superset/security/OpaSupersetSecurityManager.py
66@@ -0,0 +1,73 @@
@@ -15,7 +15,7 @@ index 0000000000..6ff95b62b7
1515+ User,
1616+ )
1717+
18- + import logging
18+ + import logging
1919+ class OpaSupersetSecurityManager(SupersetSecurityManager):
2020+ def get_user_roles(self, user: Optional[User] = None) -> List[Role]:
2121+ if not user:
@@ -27,10 +27,9 @@ index 0000000000..6ff95b62b7
2727+ logging.info(f'OPA returned roles: {opa_role_names}')
2828+
2929+ opa_roles = set(map(self.resolve_role, opa_role_names))
30- + logging.info(f'found opa roles in superset : {opa_roles}')
30+ + logging.info(f'found Roles in Database : {opa_roles}')
3131+ # Ensure that in case of a bad or no reponse from OPA each user will have at least one role.
32- + if opa_roles == None:
33- + logging.info(f'Defaulting to AUTH_USER_REGISTRATION_ROLE, as opa_roles returned None')
32+ + if opa_roles == {None}:
3433+ opa_roles.add(default_role)
3534+
3635+ if set(user.roles) != opa_roles:
You can’t perform that action at this time.
0 commit comments