2009-04-30 193 views
0

我正試圖在SSAS 2005多維數據集中實現安全性。到目前爲止,我已經獲得了我的成功,能夠創建角色,並將允許和拒絕集應用於我想要應用安全性的成員。現在開始問題 -SSAS 2005多維數據集中的維度安全

如果我在分析服務中瀏覽並選擇角色,安全性按預期工作。但是,當我作爲我創建的角色的成員(基本上無權訪問某些成員)的用戶登錄時,安全性不適用於當前的用戶屬性。

我明白原因 - 雖然我沒有把支票放在原地。我知道有一個函數USERNAME可以用來檢查用戶的身份,但不是將它與包含有效登錄名的表進行比較,而是要針對剛剛創建的角色進行檢查。是否有可能做到這一點?如果是的話如何?

PS - 我不想創建另一個存儲所有有效用戶及其各自角色信息的表,並希望這個動態完成。

回答

0

嗯,我想我自己想通了。有兩種方法 -

  1. 創建一個包含用戶名和關聯角色的表。然後,在應用拒絕/允許的集合時,使用MDX表達式查找與用戶關聯的角色,然後應用限制。 例如IIF(用戶名= [DIM用戶]。[DIM用戶]。[域名] .CurrentMember,[DIM用戶]。[DIM用戶]。[角色] .CurrentMember,「管理員」)=「RestrictedRole」假)

真 - 可見,假 - 不可見

這只是一個例子,可能需要制定的。

  1. 使用名爲「角色」的附加屬性在您的多維數據集頂部創建數據源。

例如, DataSource =; Initial Catalog =;角色=限制角色

使用此數據源的任何內容都將自動應用限制。 顯然這需要你保留兩個數據源的副本 - 一個是受限制的,另一個不是。

乾杯!

相關問題