在我的项目中,我必须基于维度属性应用安全性。
我认为解释我的情况的最好方法是举一个例子,如果您需要更多信息,请要求我,我很乐意告诉您是否能帮助我找到解决方案。
我有一些主要方面,即dimcustomer,dimseller,事实,数据和地理区域。
事实表与Dimseller ID相关,Dimcustomer与基于Dimseller特定属性(CNPJ)的Dimseller相关(我未描述的其他维度以相同方式关联)。
因此,我的目标是应用基于Dimseller CNPJ的角色安全性,因此,当与该卖方相关的用户尝试浏览数据时,将只允许他查看与其卖方CNPJ相关的数据。
表示例:
DIM Seller: DIM Customer FactTable
id name cnpj id name dimseller.cnpj dimseller.id dimcustomerid measure
1 ME 1234 1 guest1 1234 1 1 50,00
2 you 5678 2 guest2 5678 2 2 100,00
因此,如果我以我的身份登录,我将能够确定自己有一个已售产品的客户guest1,该产品的售价为50美元。
有我的意思吗?
最好的方法是什么?
现在,我正在考虑以下指南:Claim Authentication with dynamic dimension security,但是那样我应该按属性定义它。
有没有一种方法可以定义这种安全需求?我可以使用sql语句轻松过滤数据,但是我不知道如何在ssas中应用这种安全性。
谢谢你们!
最佳答案
要在维度内应用安全性,您需要使用roles
。然后,对于每个角色,您可以在多维数据集/维度中指定该角色可用的元素。因此,您要做的是由CNPJ创建一个角色,该角色将只能查看其CNPJ。
关于security - 基于另一个维度属性的SSAS动态维度安全性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3779904/