2009-04-30 9 views
0

SSAS 2005キューブでセキュリティを実装しようとしています。私はこれまでのところ成功を収めており、セキュリティを適用したいメンバーに役割をつくり、許可されたセットと拒否されたセットを適用することができました。今すぐ問題を開始します -SSAS 2005キューブの次元セキュリティ

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

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

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

答えて

0

私はこれを自分で考え出しました。これを行うには2通りの方法があります。

  1. ユーザー名と関連付け役割を持つテーブルを作成します。拒否/許可セットを適用するときは、MDX式を使用してユーザーに関連付けられたロールを見つけて制限を適用します。 など。 IIF(IIF(UserName = [DIM USER]。[DIM USER]。[ドメイン名] .CurrentMember、[DIM USER]。[DIM USER]。[Role] .CurrentMember、 "Admin")= "RestrictedRole"偽)

トゥルー - 可視、偽 - 見えない

これは単なる一例であり、上の仕事をする必要があるかもしれません。

  1. "Roles"という追加のプロパティを使用して、キューブの上にデータソースを作成します。

など。 DataSource =;初期カタログ=; Roles = RestrictedRole

このデータソースを使用するものはすべて自動的に制限が適用されます。 明らかに、これはデータソースの2つのコピーを保持することを要求します。

乾杯!

関連する問題