インターフェース SecurityContext
特に明記されていない限り、この型はすべての Jakarta EE コンテナー、特に Jakarta Servlet および Jakarta Enterprise Beans コンテナーで使用可能でなければなりません。
方法の概要
修飾子と型メソッド説明authenticate(HttpServletRequest request, HttpServletResponse response, AuthenticationParameters parameters) 呼び出し元との Web/HTTP ベースの認証ダイアログを開始または続行する必要があることをコンテナーに通知します(プログラムでトリガーします)。認証された呼び出し元が属するすべての静的 (宣言された) アプリケーションロールのリスト、または呼び出し元が認証されていないか宣言されたロールに属していない場合は空のリスト。認証された呼び出し元の名前を表すプラットフォーム固有のjava.security.Principalを取得します。現在の呼び出し元が認証されていない場合は null を取得します。<T extends PrincipalSE>
SetSE<T>getPrincipalsByType(ClassSE<T> pType) 認証された呼び出し元のサブジェクトから指定された型のすべてのプリンシパルを取得します。現在の呼び出し元が認証されていない場合、または指定された型がサブジェクトに見つからない場合は空のセットを取得します。booleanhasAccessToWebResource(StringSE resource, StringSE... methods) サーブレット仕様のセクション 13.8 で指定されているように、指定されたメソッドを使用して、呼び出し元が提供された「Web リソース」にアクセスできるかどうかを確認します。booleanisCallerInRole(StringSE role) 認証された呼び出し元が指定された論理アプリケーション「ロール」に含まれているかどうかを確認します。
メソッドの詳細
getCallerPrincipal
PrincipalSE getCallerPrincipal()認証された呼び出し元の名前を表すプラットフォーム固有のjava.security.Principalを取得します。現在の呼び出し元が認証されていない場合は null を取得します。- 戻り値:
- 現在認証されているユーザーの名前を表すプリンシパル。認証されていない場合は null。
getPrincipalsByType
認証された呼び出し元のサブジェクトから指定された型のすべてのプリンシパルを取得します。現在の呼び出し元が認証されていない場合、または指定された型がサブジェクトに見つからない場合は空のセットを取得します。これは、呼び出し側のプラットフォームの表現が異なるプリンシパル型を使用している場合に、アプリケーション固有のプリンシパルを取得するために使用できます。
返されたセットは、サブジェクトの内部プリンシパルセットによってサポートされていません。メソッドの呼び出しごとに新しいセットが作成されて返されます。返されたセットを変更しても、内部のプリンシパルセットには影響しません。
- 型パラメーター:
T-pType引数で表される実際の型- パラメーター:
pType- 返すプリンシパルの型を表すクラスオブジェクト。- 戻り値:
- 指定された型のプリンシパルのセット、または空のセット。
isCallerInRole
認証された呼び出し元が指定された論理アプリケーション「ロール」に含まれているかどうかを確認します。呼び出し元が認証されていない場合、これは常にfalseを返します。このメソッドは、特定の名前付き Jakarta Servlets または名前付き Jakarta Enterprise Beans にマップされているロールのテストには使用できません。サーブレットの場合、この例として、
web.xmlのservlet要素にネストされたsecurity-role-ref要素にネストされたrole-nameがあります。そのような Jakarta Servlet または Jakarta Enterprise Bean のいずれかのコードで、そのようなマップされた (別名、参照され、リンクされた) ロールを考慮したい場合は、その特定のコンテナーの機能を代わりに使用する必要があります。たとえば、サーブレットの場合は
HttpServletRequest.isUserInRole(String)になり、Jakarta Enterprise Beans の場合はjakarta.ejb.SessionContext#isCallerInRole(String)になります。- パラメーター:
role- 論理アプリケーションロールの名前を指定するString- 戻り値:
- 認証された呼び出し元が指定されたロールにある場合は
true、呼び出し元が認証されていないか指定されたロールにない場合は false。
getAllDeclaredCallerRoles
認証された呼び出し元が属するすべての静的 (宣言された) アプリケーションロールのリスト、または呼び出し元が認証されていないか宣言されたロールに属していない場合は空のリスト。静的 (宣言済み) ロールは、たとえば
jakarta.annotation.security.DeclareRolesアノテーションを介してアプリケーション内で事前に宣言され、起動時に検出されるロールです。宣言されたロールの次に、基礎となる認可システムがオプションで潜在的に無限の動的ロールのセットを操作できる可能性があります。このような動的 (宣言されていない) ロールは、このメソッドによって返されるセットには含まれません。
- 戻り値:
- 現在の呼び出し元が属するすべての静的 (宣言された) ロールのリスト、または呼び出し元が認証されていない場合、静的 (宣言された) ロールを持たない場合は空のリスト。
- 導入:
- 4.0
hasAccessToWebResource
サーブレット仕様のセクション 13.8 で指定されているように、指定されたメソッドを使用して、呼び出し元が提供された「Web リソース」にアクセスできるかどうかを確認します。Web リソースが保護されていない(制約されている)場合、またはロールによって保護されていて、呼び出し元がそのロールに属している場合、呼び出し元はアクセスできます。
- パラメーター:
resource- アクセスをテストする Web リソースの名前。これは、権限が関係するアプリケーション固有の Web リソースを識別するURLPatternSpecです。このパターンの完全な仕様については、WebResourcePermission(String, String)を参照してください。methods- HTTP メソッドを使用して、呼び出し元がこれらのメソッドのいずれかを使用して Web リソースにアクセスできるかどうかを確認します。メソッドが指定されていない場合、このメソッドは、呼び出し元がすべての HTTP メソッドを使用してリソースにアクセスできる場合にのみtrueを返します。- 戻り値:
- 呼び出し元が指定されたメソッドのいずれかを使用して Web リソースにアクセスできる場合は
true、メソッドが指定されていない場合はサポートされているすべての HTTP メソッドを使用して Web リソースにアクセスできる場合はfalseを返します。それ以外の場合はfalseを返します。
authenticate
AuthenticationStatus authenticate(HttpServletRequest request, HttpServletResponse response, AuthenticationParameters parameters) 呼び出し元との Web/HTTP ベースの認証ダイアログを開始または続行する必要があることをコンテナーに通知します(プログラムでトリガーします)。プログラムによるトリガーとは、コンテナーが呼び出し元が制約されたリソースにアクセスしようとしたかのように応答し、構成された認証メカニズム(
HttpAuthenticationMechanismなど)を呼び出すことによって動作することを意味します。認証ダイアログが開始されるか続行されるかは、認証ダイアログの (論理) 状態によって決まります。そのようなダイアログが現在進行中の場合、このメソッドを呼び出すとダイアログが継続されます。そのようなダイアログが進行中でない場合は、新しいダイアログが開始されます。この呼び出しで
AuthenticationParameters.newAuthenticationパラメーターにtrueの値を指定すると、ダイアログが進行中かどうかに関係なく、新しいダイアログを強制的に開始できます。このメソッドでは、
HttpServletRequestおよびHttpServletResponse引数を渡す必要があるため、有効なサーブレットコンテキストでのみ使用できます。- パラメーター:
request- 現在の Web リソース呼び出しに関連付けられているHttpServletRequest。response- 指定されたHttpServletRequestに関連付けられたHttpServletResponse。parameters- 資格情報など、プログラムによる認証リクエストと共に提供されるパラメーター。認証ダイアログを続行するためにアプリケーションによって収集されます。- 戻り値:
- この呼び出しによってトリガーされた後の認証メカニズムの状態