- java.lang.Object
-
- javax.resource.spi.work.SecurityContext
-
- All Implemented Interfaces:
- Serializable, WorkContext
public abstract class SecurityContext extends Object implements WorkContext
A standardWorkContext
that allows aWork
instance to propagate security related context information from an EIS to an application server.This allows an EIS/resource adapter to flow-in security context information and execute a Work instance, and call methods on a MessageEndpoint interface, to effect message inflow, within that Work instance, in the context of an established identity.
A resource adapter indicates to the WorkManager, that a Work instance needs to be run in a specified security execution context by submitting a Work instance that implements WorkContextProvider interface and ensuring that the List of WorkContexts for that Work instance contains an instance of its subclass of Securitytext.
It should be noted however that when a resource adapter flows-in an identity to be used by the application server, the propagated identity may or may not belong to the application server's security domain.
There are therefore, two scenarios while a resource adapter propagates a security identity from an EIS to the application server:
- Case 1: Resource adapter flows-in an identity in the application server's security domain: In this case, the application server could just set the initiating principal, flown-in from the resource adapter, as the security context the Work instance executes as.
- Case 2: Resource adapter flows-in an identity belonging to the EIS' security domain: The resource adapter establishes a connection to the EIS and needs to perform a Work in the context of an EIS identity. In this case, the initiating or caller principal does not exist in the application server's security domain and a translation from one domain to the other needs to be performed.
- Since:
- 1.6
- Version:
- Java EE Connector Architecture 1.6
- See Also:
WorkContextProvider
, Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description SecurityContext()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description String
getDescription()
Get the brief description of the role played by theWorkContext
and any other related debugging information.String
getName()
Get the associated name of theWorkContext
.abstract void
setupSecurityContext(CallbackHandler handler, Subject executionSubject, Subject serviceSubject)
The container calls this method to set up the security Context for theWork
instance.
-
-
-
Method Detail
-
getDescription
public String getDescription()
Get the brief description of the role played by theWorkContext
and any other related debugging information. This could be used by the WorkManager and the resource adapter for debugging purposes.- Specified by:
getDescription
in interfaceWorkContext
- Returns:
- the associated description of the
WorkContext
-
getName
public String getName()
Get the associated name of theWorkContext
. This could be used by the WorkManager and the resource adapter for debugging purposes.- Specified by:
getName
in interfaceWorkContext
- Returns:
- the associated name of the
WorkContext
-
setupSecurityContext
public abstract void setupSecurityContext(CallbackHandler handler, Subject executionSubject, Subject serviceSubject)
The container calls this method to set up the security Context for theWork
instance.The handler argument must not be null, and the argument handler and the
CallbackHandler
passed to this method must support the followingCallback
s defined in JSR 196: Java Authentication SPI for Containers specification:- CallerPrincipalCallback
- GroupPrincipalCallback
- PasswordValidationCallback
The following
Callback
s may be supported by the container.- CertStoreCallback
- PrivateKeyCallback
- SecretKeyCallback
- TrustStoreCallback
A resource adapter might use the
CallerPrincipalCallback
"to set the container's representation of the caller principal. The CallbackHandler must establish the argument Principal as the caller principal associated with the invocation being processed by the container. When the argument Principal is null, the handler will establish the container's representation of the unauthenticated caller principal."A resource adapter might use the
GroupPrincipalCallback
"to establish the container's representation of the corresponding group principals within the Subject. When a null value is passed to the groups argument, the handler will establish the container's representation of no group principals within the Subject. Otherwise, the handler's processing of this callback is additive, yielding the union (without duplicates) of the principals existing within the Subject, and those created with the names occurring within the argument array. The CallbackHandler will define the type of the created principals."A resource adapter might use the
PasswordValidationCallback
"to employ the password validation facilities of its containing runtime."The executionSubject argument must be non-null and it must not be read-only. It is expected that this method will populate this executionSubject with principals and credentials that would be flown into the application server.
The serviceSubject argument may be null, and when it is not null it must not be read-only. It represents the application server and it may be used by the Work implementation to retrieve Principals and credentials necessary to establish a connection to the EIS (in the cause of mutual-auth like scenarios). If the Subject is not null, the Work implementation may collect the server credentials, as necessary, by using the callback handler passed to them .
When this method is called, the method implementation
- identifies the security context that needs to be flown-in to the application server to serve as the execution context of the Work instance.
- populates the executionSubject with the EIS Principals and Credentials that it wants to serve as the security context for the Work instance to be executed in.
- adds instances of the necessary Callbacks , usually a subset of the ones listed above, to an array and invokes the handle() method in the container's CallbackHandler implementation passing in the array of Callback instances.
- on successful return from the CallbackHandler.handle() method the setSecurityContext returns after ensuring that the executionSubject is populated with the valid Principals and Credentials that represent the execution context of the Work instance
- Parameters:
handler
- ACallbackHandler
provided by theWorkManager
that supports theCallback
s described aboveexecutionSubject
- A Subject that represents the security identity that needs to be established as the context for theWork
instance. It is used by the method implementation to store Principals and credentials that needs to be used as the security context of theWork
instance.serviceSubject
- A Subject that represents the application server It may be used by the method implementation as the source of Principals or credentials to be used to validate a connection to the EIS. If the Subject is not null, the method implementation may add additional Principals or credentials (pertaining to the recipient of the service request) to the Subject. *- See Also:
196: Java Authentication SPI for Containers specification and related JavaDoc
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
21/08/2025 18:33:43 Cette version de la page est en cache (à la date du 21/08/2025 18:33:43) afin d'accélérer le traitement.Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la version plus récente de la page.
Document créé le 11/06/2005, dernière modification le 18/08/2025
Source du document imprimé : https://www.gaudry.be/java-api-javaee-rf-javax/resource/spi/work/SecurityContext.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.