次の方法で共有


Entity.CheckAccess メソッド (Microsoft.Office.Server.ApplicationRegistry.MetadataModel)

現在のユーザーが 1 つ以上のエンティティ インスタンスに対して持つ権限を取得します。

名前空間: Microsoft.Office.Server.ApplicationRegistry.MetadataModel
アセンブリ: Microsoft.SharePoint.Portal (microsoft.sharepoint.portal.dll 内)

構文

'宣言
Public Function CheckAccess ( _
    subIdentifierArrayArray As Object(), _
    lobSystemInstance As LobSystemInstance _
) As Long()
'使用
Dim instance As Entity
Dim subIdentifierArrayArray As Object()
Dim lobSystemInstance As LobSystemInstance
Dim returnValue As Long()

returnValue = instance.CheckAccess(subIdentifierArrayArray, lobSystemInstance)
public long[] CheckAccess (
    Object[] subIdentifierArrayArray,
    LobSystemInstance lobSystemInstance
)

パラメータ

  • subIdentifierArrayArray
    サブ識別子のコレクションのコレクション、つまりその Entity の EntityInstance のコレクションを表します。最上位コレクションの各要素は、1 つの EntityInstance のサブ識別子の値の配列を表します。たとえば、Entity に識別子が 1 つしかない場合、その内部の配列には要素が 1 つだけ含まれることになります。

    一例として、整数 CustomerNumber で識別される Customer エンティティを考えてみましょう。次のようにして CheckAccess を呼び出します。

    long[] rights[] = CheckAccess(new Object[]{33}, new Object[]{3}

    このとき、ID が 33 と 3 の Customer EntityInstance の権限が返されます。

  • lobSystemInstance
    このエンティティが属する LobSystemInstance オブジェクト。

戻り値

入力内で表現される各 EntityInstance の単一の 'long' の数。'long' は、CheckAccess メソッドを実行するユーザーが対応する EntityInstance に対して持つ Right を表します。Right は long 内の単一のビットまたはビットの集まりです。

備考

CheckAccess はビジネス データ カタログが呼び出しを SQL クエリまたはより複雑なバックエンド WebService WebMethod 呼び出しに変換するという、FindSpecific メソッド呼び出しと類似した方法で処理を呼び出します。主な違いは、FIndSpecific が単一の EntityInstance を返すのに対して、CheckAccess メソッドは 1 つの呼び出しで 1 つ以上の EntityInstance の結果 (Right) を返すことにあります。

CheckAccess 呼び出しは 'AccessChecker' MethodInstanceType を持つ Entity に対して MethodInstance を呼び出すことによって処理を行います。CheckAccess 呼び出しの結果はビジネス データ クライアント アプリケーションで使用できます。たとえば、ユーザーがビジネス データ カタログに EntityInstance の Create、Edit、Delete アクションを表示するユーザー定義の Web パーツを構築する場合を考えてみます。AccessChecker を定義することで、ユーザーは Entity.CheckAccess を呼び出し、それによって返される権限に基づいて 1 つ以上の Action を条件付きで有効できます。

検索クエリ プロセッサが、ビジネス データ カタログ セキュリティ トリマに関連付けられたクロール ルールに一致する検索結果を返すたびに、ビジネス データ カタログ セキュリティ トリマでも Entity.CheckAccess メソッドが実行されます。Entity.CheckAccess メソッドが呼び出されると、代わってビジネス データ カタログが、そのエンティティ用に登録された AccessChecker メソッド インスタンスによって記述されているバックエンド API を実行します。バックエンド API は、現在のユーザーがエンティティ インスタンスに対して持つ権限を返します。これが再び Entity.CheckAccess メソッドへ、そして最後にセキュリティ トリマへと引き継がれ、セキュリティ トリマはこの情報を使用して結果をトリミングし、その後結果をユーザーに表示します。

関連項目

参照

Entity クラス
Entity メンバ
Microsoft.Office.Server.ApplicationRegistry.MetadataModel 名前空間