<p dir="auto">From now on, i think that superset-frontend is a little complex, it's hard to embed in micro frontend application as a sub-app<br>
by single-spa(<a href="https://single-spa.js.org/" rel="nofollow">https://single-spa.js.org/</a>) or even qiankun(<a href="https://qiankun.umijs.org/" rel="nofollow">https://qiankun.umijs.org/</a>) which is inspired by single-spa.</p>
<p dir="auto">superset-frontend has multi entries and its a little complex for me to embed it into micro frontend application.</p>
<p dir="auto">Do you have any ideas or successful example about who has already embed superset into any micro frontend application or how i could embed superset into a big application? exclude iframe, any good ideas?</p>
<h2 dir="auto">[SIP-29] Proposal to add support for row-level security</h2>
<h3 dir="auto">Motivation</h3>
<p dir="auto">Many BI applications, particularly in multi-tenancy scenarios, require support for row-level security. That is, the ability to show different slices of a table to users based on some user attribute.</p>
<p dir="auto">This feature has been requested in Superset several times, including:<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="161827904" data-permission-text="Title is private" data-url="https://github.com/apache/superset/issues/660" data-hovercard-type="issue" data-hovercard-url="/apache/superset/issues/660/hovercard" href="https://github.com/apache/superset/issues/660">#660</a><br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="328743096" data-permission-text="Title is private" data-url="https://github.com/apache/superset/issues/5128" data-hovercard-type="issue" data-hovercard-url="/apache/superset/issues/5128/hovercard" href="https://github.com/apache/superset/issues/5128">#5128</a><br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="469472908" data-permission-text="Title is private" data-url="https://github.com/apache/superset/issues/7887" data-hovercard-type="issue" data-hovercard-url="/apache/superset/issues/7887/hovercard" href="https://github.com/apache/superset/issues/7887">#7887</a><br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="479320934" data-permission-text="Title is private" data-url="https://github.com/apache/superset/issues/8023" data-hovercard-type="issue" data-hovercard-url="/apache/superset/issues/8023/hovercard" href="https://github.com/apache/superset/issues/8023">#8023</a></p>
<h3 dir="auto">Proposed Change</h3>
<p dir="auto">Primarily, this feature would require two sub-features:</p>
<ol dir="auto">
<li>The ability to add user attributes</li>
<li>The ability to filter queries based on these attributes</li>
</ol>
<p dir="auto">The proposed solution would be to add an 'attributes' property to roles that would essentially be a user-defined key-value store:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/48782327/69489249-cb66f300-0e6c-11ea-9be2-905a25d2548f.png"><img width="1239" alt="Screenshot 2019-11-24 02 35 54" src="https://user-images.githubusercontent.com/48782327/69489249-cb66f300-0e6c-11ea-9be2-905a25d2548f.png" style="max-width: 100%;"></a></p>
<p dir="auto">and to make those role attributes available as values for Query Filters:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/48782327/69489261-f2252980-0e6c-11ea-90d8-658b24fd82d3.png"><img width="1237" alt="Screenshot 2019-11-24 02 38 26" src="https://user-images.githubusercontent.com/48782327/69489261-f2252980-0e6c-11ea-90d8-658b24fd82d3.png" style="max-width: 100%;"></a></p>
<h3 dir="auto">New or Changed Public Interfaces</h3>
<ul dir="auto">
<li>New 'attributes' property added to roles</li>
<li>Changes to Query Filters to allow access to attribute values (e.g by macros like WHERE column={{role.attributes.key}}</li>
<li>Minor UI changes associated with the above</li>
</ul>
<h3 dir="auto">New dependencies</h3>
<p dir="auto">N/A</p>
<h3 dir="auto">Migration Plan and Compatibility</h3>
<p dir="auto">TBD</p>
<h3 dir="auto">Rejected Alternatives</h3>
<p dir="auto">Pre-processing data into multiple tables or views:</p>
<ul dir="auto">
<li>This solution does not scale well, and requires all attribute values to be known a priori</li>
<li>Requires duplicate dashboards and charts</li>
</ul>
<p dir="auto">Reverse proxy</p>
<ul dir="auto">
<li>Issues with identifying the user initiating the query</li>
</ul>