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

Reply via email to