@Service @PerLookup public class SecurityContext extends AbstractSecurityContext
ThreadLocal
,
InheritableThreadLocal
,
Serialized Formadditional, initiator, subject
Constructor and Description |
---|
SecurityContext() |
SecurityContext(String userName,
Subject subject) |
SecurityContext(String userName,
Subject subject,
String realm) |
SecurityContext(Subject subject)
Create a SecurityContext with given subject having DistinguishedPrincipalCredential.
|
Modifier and Type | Method and Description |
---|---|
boolean |
didServerGenerateCredentials() |
Principal |
getCallerPrincipal()
This method returns the caller principal.
|
static SecurityContext |
getCurrent()
This method gets the SecurityContext stored in the Thread Local Store (TLS) of the current thread.
|
AppServSecurityContext |
getCurrentSecurityContext() |
static Principal |
getDefaultCallerPrincipal() |
static SecurityContext |
getDefaultSecurityContext() |
static Subject |
getDefaultSubject() |
Set<Principal> |
getPrincipalSet() |
Subject |
getSubject()
This method should be implemented by the subclasses to return
the Credentials of the caller principal.
|
static SecurityContext |
init()
Initialize the SecurityContext and handle the unauthenticated principal case
|
AppServSecurityContext |
newInstance(String userName,
Subject subject) |
AppServSecurityContext |
newInstance(String userName,
Subject subject,
String realm) |
void |
postConstruct() |
static void |
reset(SecurityContext sc)
No need to unmarshall the unauthenticated principal....
|
static void |
setCurrent(SecurityContext sc)
This method sets the SecurityContext stored in the TLS.
|
void |
setCurrentSecurityContext(AppServSecurityContext context)
set the current security context
|
void |
setSecurityContextWithPrincipal(Principal principal)
set the SecurityContext with given Principal
|
static void |
setUnauthenticatedContext() |
void |
setUnauthenticatedSecurityContext()
set the unauthenticated context
|
String |
toString() |
getAdditionalPrincipal, setAdditionalPrincipal
public SecurityContext(Subject subject)
subject
- public SecurityContext()
public static SecurityContext init()
public static SecurityContext getDefaultSecurityContext()
public static Subject getDefaultSubject()
public static Principal getDefaultCallerPrincipal()
public static void reset(SecurityContext sc)
public static SecurityContext getCurrent()
public static void setCurrent(SecurityContext sc)
sc
- The Security Context that should be stored in TLS. This public static method needs to be protected such
that it can only be called by container code. Otherwise it can be called by application code to set its subject
(which the EJB security manager will use to create a domain combiner, and then everything the ejb does will be run as
the corresponding subject.public static void setUnauthenticatedContext()
public boolean didServerGenerateCredentials()
public Principal getCallerPrincipal()
getCallerPrincipal
in interface AppServSecurityContext
getCallerPrincipal
in class AbstractSecurityContext
public Subject getSubject()
AbstractSecurityContext
getSubject
in interface AppServSecurityContext
getSubject
in class AbstractSecurityContext
public void postConstruct()
public AppServSecurityContext newInstance(String userName, Subject subject, String realm)
public AppServSecurityContext newInstance(String userName, Subject subject)
public void setCurrentSecurityContext(AppServSecurityContext context)
AppServSecurityContext
public AppServSecurityContext getCurrentSecurityContext()
public void setUnauthenticatedSecurityContext()
AppServSecurityContext
public void setSecurityContextWithPrincipal(Principal principal)
AppServSecurityContext
Copyright © 2018. All rights reserved.