jhtimmins commented on a change in pull request #19294:
URL: https://github.com/apache/airflow/pull/19294#discussion_r741630543
##########
File path: airflow/www/fab_security/manager.py
##########
@@ -85,6 +85,33 @@ def _oauth_tokengetter(token=None):
return token
+class AnonymousUser(AnonymousUserMixin):
+ """User object used when no active user is logged in."""
+
+ _roles = set()
+ _perms = set()
+
+ @property
+ def roles(self):
+ if not self._roles:
+ public_role =
current_app.appbuilder.get_app.config["AUTH_ROLE_PUBLIC"]
+ self._roles = {current_app.appbuilder.sm.find_role(public_role)}
if public_role else set()
+ return self._roles
+
+ @roles.setter
+ def roles(self, roles):
+ self._roles = roles
+ self._perms = set()
+
+ @property
+ def perms(self):
+ if not self._perms:
+ self._perms = set()
+ for role in self.roles:
+ self._perms.update({(perm.action.name, perm.resource.name) for
perm in role.permissions})
Review comment:
This is a fair critique, but I have a pretty strong aversion to nested
comprehensions, as I'm convinced Python's design is flawed.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]