2010-09-23 72 views
3

在我的項目中,我必須應用基於維度屬性的安全性。 我認爲解釋我的方案的最好方式是舉一個例子,如果您需要更多信息,請向我請求,我很樂意告訴您它是否能幫助我找到解決方案。SSAS動態維度基於另一維度屬性的安全性

我有一些主要維度,dimcustomer,dimseller,事實,數據和地理。 事實表與dimseller ID相關,dimcustomer與dimseller基於一個dimseller特定屬性(CNPJ)(我沒有描述的另一個維度以相同的方式相關)相關。

所以我的目標是應用基於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語句的數據,但我沒有ideia如何我可以在ssas中應用這種安全。

謝謝你們!

回答

0

要在維度中應用安全性,您需要使用roles。對於每個角色,您可以指定該角色可用的多維數據集/維度中的哪個元素。所以,你需要做的是由CNPJ創建一個角色,只能查看他們的CNPJ。