2012-05-30 81 views
4

訪問SSAS我們有一個已經創建了一個美妙的數據倉庫使用它通過Excel的內部網絡上的內部員工正常工作一個BI團隊。他們通過域控制器使用Windows身份驗證,並且一切正常,包括限制對用戶和AD組的訪問。使用外部用戶數據庫

的問題是,我們現在希望提供給更廣泛的受衆,是不是我們的Windows域的一部分相同的訪問。由於需要訪問系統的用戶的信息已存儲在另一個位置(具有SQL數據庫的應用程序)中,這一點變得更加複雜。

的目標是讓這個他們連接(可能使用HTTPS)的立方體(使用Excel分析服務集成),並使用用戶名/密碼,他們已經在主應用程序進行身份驗證。

主要應用對用戶的認證和會話管理WCF服務的接口,所以我真正需要的是一種方法,在MSMDpump.dll前面針對的WebService提供身份驗證。我們還可以添加角色映射,以便我們可以針對應用程序中的用戶定義SSAS角色。

我在想,我可以創建一個與MSMDPUMP.dll具有相同接口的dll,並且可以在客戶端和主dll之間轉換調用,但這看起來有點矯枉過正。

是否有任何預建工具可以做到這一點? (是的,我知道Sharepoint可以做這樣的事情,但這不是一種選擇,所以請不要提示)。有沒有人知道任何博客詳細說明如何做到這一點?

任何指針在哪裏開始創建2之間的接口?

該問題類似於How to secure MS SSAS 2005 for HTTP remote access via Internet?但是,我正在尋找從另一個數據源提供身份驗證機制,並向SSAS提供角色,而不是用戶。我們不希望爲每個在外部應用程序中設置的用戶在SSAS中設置一個新用戶。

UPDATE:需要明確的是,他們的外部用戶需要連接到使用Excel中的多維數據集,返回的數據需要由他們所在的作用,並在多維數據集應用的安全性進行過濾。 我們可以鎖定多維數據集以使用Dynamic Dimension Security,並使用CustomData屬性(如果有幫助)。

回答

1

最終解決最後被第三方控制和動態維度安全性的組合。

我們發現,它不是可以容易地應用的MembershipProvider接口的MSMDPUMP接口沒有顯著的努力,使我們的解決方案給了他們一個Web界面,而不是使用。

我們所使用的控制是通過DevExpress的,是他們的「PivotGrid」控制。它不是免費的,但比實施任何其他定製解決方案的開發資源成本要低得多。

隨着控制,我們已經應用動態維度安全性的多維數據集,因此網站的每個用戶都將有一個專門的ConnectionString,以使用「的CustomData」追加到ConnectionString中立方。這使我們能夠將數據分離任務委派給Cube和BI團隊,並讓Web開發人員專注於控件的顯示。

該解決方案運行良好,不涉及重量級應用程序,如Sharepoint/Excel Services。它可以直接構建到您的網站並根據需要打上品牌,提供銷售工具以及有用的功能工具。

0

您可以創建立方體分貝限制訪問的用戶(只讀,只對相關的立方體等)和硬代碼,用戶/密碼,對應用程序數據庫連接字符串?

+0

我會如何將個人用戶/角色傳遞給SSAS?關於「向SSAS提供角色,而不是用戶」的部分,如果我使用單個用戶,則無法在SSAS中爲外部用戶定義訪問權限。 – Martin

+0

用戶是否需要訪問個人信息,例如只有與其客戶ID有關的數據,或者應用程序中的任何人都可以看到多維數據集中的所有內容? –

+0

我的想法不是爲Bob和Sally設置憑據,而是爲「CubeUser」設置一個AD用戶並使用它來向SSAS進行身份驗證。應用程序將使用他們現有的登錄名對其進行身份驗證,並使用CubeUser登錄名從多維數據集中提取相關數據。不過,這隻有在您可以控制應用程序的情況下才有效。 –