0

SSAS2005キューブにセキュリティを実装しようとしています。私はこれまでのところ成功を収めており、役割を作成し、セキュリティを適用したいメンバーにALLOWEDセットとDENIEDセットを適用することができました。今問題を開始します-

Analysis Services内を参照して、セキュリティが意図したとおりに機能する役割を選択した場合。しかし、作成したロールのメンバーであるユーザーとしてログインすると(基本的に一部のメンバーにアクセスできません)、セキュリティは現在のユーザープロパティでは機能しません。

私はその理由を理解しています-私は同じもののチェックをしていません。ユーザーのIDをチェックするために使用できる関数USERNAMEがあることは知っていますが、それを有効なログインを含むテーブルと比較する代わりに、作成したばかりのロールと照合したいと思います。これを行うことは可能ですか?はいの場合、どのように?

PS-すべての有効なユーザーとそれぞれの役割情報を格納する別のテーブルを作成したくないので、これを動的に実行したいと思います。

4

1 に答える 1

0

まあ、私はこれを自分で考え出したと思います。これを行うには2つの方法があります -

  1. ユーザー名と関連付けられたロールでテーブルを作成します。次に、拒否/許可セットを適用するときに、MDX 式を使用してユーザーに関連付けられたロールを見つけ、制限を適用します。例 IIF(IIF(User_Name = [DIM USER].[DIM USER].[ドメイン名].CurrentMember,[DIM USER].[DIM USER].[Role].CurrentMember, "Admin") = "RestrictedRole", True 、 間違い)

True - 見える、False - 見えない

これは単なる例であり、作業が必要になる場合があります。

  1. 「ロール」と呼ばれる追加のプロパティを使用して、キューブの上にデータソースを作成します。

例: DataSource = ;初期カタログ = ; Roles=RestrictedRole

このデータソースを使用するものはすべて、自動的に制限を適用します。明らかに、これにはデータソースの 2 つのコピーを保持する必要があります。1 つは制限付きで、もう 1 つは制限されていません。

乾杯!!

于 2009-04-30T14:24:44.583 に答える