public class ContextPropagatingRemoteInvocation extends RemoteInvocation
RemoteInvocation that is passed from the client to the server.
The principal and credentials information will be extracted from the current security context and passed to the server as part of the invocation object.
To avoid potential serialization-based attacks, this implementation interprets the values as Strings
and creates a UsernamePasswordAuthenticationToken on the server side to hold them. If a different
token type is required you can override the createAuthenticationRequest method.
| Constructor and Description |
|---|
ContextPropagatingRemoteInvocation(org.aopalliance.intercept.MethodInvocation methodInvocation)
Constructs the object, storing the principal and credentials extracted from the client-side
security context.
|
| Modifier and Type | Method and Description |
|---|---|
protected Authentication |
createAuthenticationRequest(String principal,
String credentials)
Creates the server-side authentication request object.
|
Object |
invoke(Object targetObject)
Invoked on the server-side.
|
addAttribute, getArguments, getAttribute, getAttributes, getMethodName, getParameterTypes, setArguments, setAttributes, setMethodName, setParameterTypes, toStringpublic ContextPropagatingRemoteInvocation(org.aopalliance.intercept.MethodInvocation methodInvocation)
methodInvocation - the method to invokepublic Object invoke(Object targetObject) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException
The transmitted principal and credentials will be used to create an unauthenticated Authentication
instance for processing by the AuthenticationManager.
invoke in class RemoteInvocationtargetObject - the target object to apply the invocation toNoSuchMethodException - if the method name could not be resolvedIllegalAccessException - if the method could not be accessedInvocationTargetException - if the method invocation resulted in an exceptionprotected Authentication createAuthenticationRequest(String principal, String credentials)