public final class DelegatingSecurityContextRunnable extends Object implements Runnable
Wraps a delegate Runnable with logic for setting up a SecurityContext
before invoking the delegate Runnable and then removing the
SecurityContext after the delegate has completed.
If there is a SecurityContext that already exists, it will be
restored after the run() method is invoked.
| Constructor and Description |
|---|
DelegatingSecurityContextRunnable(Runnable delegate)
Creates a new
DelegatingSecurityContextRunnable with the
SecurityContext from the SecurityContextHolder. |
DelegatingSecurityContextRunnable(Runnable delegate,
SecurityContext securityContext)
Creates a new
DelegatingSecurityContextRunnable with a specific
SecurityContext. |
| Modifier and Type | Method and Description |
|---|---|
static Runnable |
create(Runnable delegate,
SecurityContext securityContext)
Factory method for creating a
DelegatingSecurityContextRunnable. |
void |
run() |
String |
toString() |
public DelegatingSecurityContextRunnable(Runnable delegate, SecurityContext securityContext)
DelegatingSecurityContextRunnable with a specific
SecurityContext.delegate - the delegate Runnable to run with the specified
SecurityContext. Cannot be null.securityContext - the SecurityContext to establish for the delegate
Runnable. Cannot be null.public DelegatingSecurityContextRunnable(Runnable delegate)
DelegatingSecurityContextRunnable with the
SecurityContext from the SecurityContextHolder.delegate - the delegate Runnable to run under the current
SecurityContext. Cannot be null.public static Runnable create(Runnable delegate, SecurityContext securityContext)
DelegatingSecurityContextRunnable.delegate - the original Runnable that will be delegated to after
establishing a SecurityContext on the SecurityContextHolder. Cannot
have null.securityContext - the SecurityContext to establish before invoking the
delegate Runnable. If null, the current SecurityContext from the
SecurityContextHolder will be used.