This is an automated email from the ASF dual-hosted git repository. villebro pushed a commit to branch 0.37 in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
commit 698bad187fd43e0abe75eeccc588abbce3b8c355 Author: gtg472b <[email protected]> AuthorDate: Mon Sep 7 08:49:13 2020 -0600 Fix: Include RLS filters for cache keys (#10805) * Fix: Include RLS filters for cache keys This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user. * Fix: Include RLS filters for cache keys This fix makes sure that RLS filters are searched for templatable jinja content, ensuring cached visualizations aren't shown to the wrong user. Co-authored-by: Ville Brofeldt <[email protected]> Co-authored-by: Ville Brofeldt <[email protected]> --- superset/connectors/sqla/models.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/superset/connectors/sqla/models.py b/superset/connectors/sqla/models.py index 36a4c57..2bfa444 100644 --- a/superset/connectors/sqla/models.py +++ b/superset/connectors/sqla/models.py @@ -1383,6 +1383,10 @@ class SqlaTable( # pylint: disable=too-many-public-methods,too-many-instance-at templatable_statements.append(extras["where"]) if "having" in extras: templatable_statements.append(extras["having"]) + if config["ENABLE_ROW_LEVEL_SECURITY"] and self.is_rls_supported: + templatable_statements += [ + f.clause for f in security_manager.get_rls_filters(self) + ] for statement in templatable_statements: if ExtraCache.regex.search(statement): return True
