1

次の 2 つのシナリオを考えてみましょう。

開発者 A は一連のレポートを作成しました。- レポート A はアウディ車の販売の詳細を示します レポート B はメルセデス車の販売の詳細を示します レポート C はボルボ車の販売の詳細を示します。したがって、30 個のレポート ファイル (.rpt) があります。

開発者 A はこれを行ったので、ユーザーの各 AD グループに異なるセキュリティ権限を割り当てることができます:-

グループ A はアウディ車の販売のみ、グループ B はメルセデス車の販売のみ、グループ C はボルボ車の販売のみ、というように表示されます。

開発者 B は別のアプローチを取りました:-

彼女は、任意のメーカーのデータを表示するために、「メーカー」パラメーターを受け入れる単一のレポート (1 つの .rpt ファイル) を作成しました。

どちらのシナリオでも、レポートはレポートの「メニュー」から読み込まれます。最初のシナリオでは、各メーカーのハイパーリンクから関連レポートに移動します。2 番目のシナリオでは、同じハイパーリンクによって、メーカー名がパラメーターとして 1 つのレポートに提供されます。

このシナリオの欠点は、単一のレポート ファイルを特定のユーザー セットにロックダウンできないことです。レポートがグループ A にロックダウンされている場合、グループ B または C はそれをまったく表示できませんでした。

質問に:-

2 番目のシナリオを実行可能にするためには、現在のユーザーまたは現在のユーザー グループが、要求しているデータを表示するためのアクセス権を持っているかどうかを確認する方法が必要です。

true または false を返すようなカスタム関数を使用することを考えてCheckAccess(Username,Manufacturer)いました。戻り値に応じて、ユーザーをリダイレクトしてレポートを読み込むか、エラー ページにそれぞれリダイレクトします。

もう 1 つのオプションは、製造業者ごとに役割を設定し、その役割を各グループに割り当てることです。カスタム関数を使用して、「Bill」に「Audi」の役割があるかどうかを確認できますか??

ここで最良のアプローチに関するアイデアを探しています。

4

1 に答える 1

-2

私はあなたをお勧めします:

  1. ユーザー ID とレポート パラメータを含むテーブルを作成します。このようにして、ユーザー アクセスのセキュリティを管理できます。

  2. 次に、ssrsUser!UserID参照をクエリのパラメーターとして使用します。

追加の利点として、アクティブなユーザーが表示できるメーカーのみを入力するクエリを作成できます。

于 2013-01-28T07:53:38.610 に答える