Power BI嵌入式行级安全性

时间:2019-04-24 10:28:08

标签: powerbi powerbi-embedded

我正在使用双电源嵌入式行级安全性。根据{{​​3}}提供的文档,我们需要在Power Bi桌面中添加角色,并使用DAX表达式,例如[ColumnName] = USERNAME()。这样,当用户具有特定角色时,此过滤器便可以使用。

我的问题是,是否有可能在任何地方使用DAX表达式直接使用用户名过滤数据?

预先感谢

1 个答案:

答案 0 :(得分:3)

访问用户名

如果使用User owns data进行嵌入,则在进行身份验证时,可以在代码中访问用户名。 或者,即使使用App owns data,如果您在访问门户时对用户进行身份验证,那么在身份验证时也可以获取用户名。

以下是JS上的示例

oCommon.authContext.getCachedUser();

以下是C#中的示例

HttpContext.Current.User.Identity.Name;

在嵌入式报告中进行过滤

此外,通过使用filtering capabilities of Power BI embedding,可以根据身份验证期间获取的用户名值过滤报告。

避免闪烁

如果使用powerbi.embed(),则可以在报表嵌入后应用过滤器。 取而代之的是使用phased embedding的概念,在该概念甚至可以在报表呈现之前,就可以应用过滤器。因此,在load()之后和render()之前应用过滤器。这样可以避免在powerbi.embed()之后进行过滤时可能出现的闪烁。