Datasnap.DSSession.TDSSession.GetAuthRoleInternal

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

procedure GetAuthRoleInternal(ServerMethod: TDSServerMethod; AuthManager : TDSCustomAuthenticationManager;  out AuthorizedRoles, DeniedRoles: TStrings);

C++

void __fastcall GetAuthRoleInternal(Datasnap::Dscommonserver::TDSServerMethod* ServerMethod, Datasnap::Dsauth::TDSCustomAuthenticationManager* AuthManager, /* out */ System::Classes::TStrings* &AuthorizedRoles, /* out */ System::Classes::TStrings* &DeniedRoles);

プロパティ

種類 可視性 ソース ユニット
procedure
function
protected
Datasnap.DSSession.pas
Datasnap.DSSession.hpp
Datasnap.DSSession TDSSession

説明

指定されたサーバー メソッドについて、権限付与されたロールと拒否されたロールを返し、結果をキャッシュします。


GetAuthRoleInternal は、サーバー メソッドと認証マネージャを受け取ります。それを使って適切な TRoleAuth インスタンスを構築するか検索し、それを基に出力パラメータ AuthorizedRoles および DeniedRoles の内容を設定します。

TDSMethodInfoAuthRole プロパティには、そのメソッドに関して使われるキャッシュされた TRoleAuth を保持することができます。ただし、ここにキャッシュされていたとしてもそれが設計時ロールであれば、GetAuthRoleInternal は、そのロールが認証マネージャの Roles 属性の最新状態を反映しているかどうかを確認します。TRoleAuth が古い場合には、AuthRole プロパティを、Roles コレクションの最新状態を使って作成した新しいものに置き換えます。

キャッシュされた項目がコード内の属性で作成された TRoleAuth であり、認証マネージャの設計時 Roles コレクションを基に少なくとも 1 つの権限付与されたロールまたは拒否されたロールを持つものを作成できる場合には、その項目は設計時 TRoleAuth インスタンスに置き換えられます。

TRoleAuth が AuthRole プロパティ内に存在せず、Roles コレクションからも作成できない場合に、メソッドの属性として TRoleAuth が存在すれば、それが AuthRole に格納されて使われます。存在しなければ、の TRoleAuth が作成され、キャッシュされます。

関連項目