fix: check embedded feature flag in request loader (#18628)

* check embedded feature flag in request loader

* lint

* type annotation

Co-authored-by: David Aaron Suddjian <aasuddjian@gmail.com>
This commit is contained in:
Lily Kuang 2022-02-08 20:14:11 -08:00 committed by GitHub
parent 51f716f573
commit e86f6bbabc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 3 deletions

View File

@ -235,13 +235,17 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
guest_user_cls = GuestUser
def create_login_manager(self, app: Flask) -> LoginManager:
lm = super().create_login_manager(app)
lm.request_loader(self.request_loader)
return lm
def request_loader(self, request: Request) -> Optional[User]:
# pylint: disable=import-outside-toplevel
from superset.extensions import feature_flag_manager
lm = super().create_login_manager(app)
if feature_flag_manager.is_feature_enabled("EMBEDDED_SUPERSET"):
lm.request_loader(self.get_guest_user_from_request)
return lm
return self.get_guest_user_from_request(request)
return None
def get_schema_perm( # pylint: disable=no-self-use
self, database: Union["Database", str], schema: Optional[str] = None