|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface SubjectContext
A SubjectContext is a 'bucket' of data presented to a SecurityManager which interprets
this data to construct Subject instances. It is essentially a Map of data
with a few additional type-safe methods for easy retrieval of objects commonly used to construct Subject instances.
SecurityManager or
SubjectFactory implementation to construct Subject instances.
SubjectContext interface also allows for heuristic resolution of data used to construct a subject
instance. That is, if an attribute has not been explicitly provided via a setter method, the resolve*
methods can use heuristics to obtain that data in another way from other attributes.
For example, if one calls getPrincipals() and no principals are returned, perhaps the principals exist
in the session or another attribute in the context. The resolvePrincipals() will know
how to resolve the principals based on heuristics. If the resolve* methods return null then the
data could not be achieved by any heuristics and must be considered as not available in the context.
The general idea is that the normal getters can be called to see if the value was explicitly set. The
resolve* methods should be used when actually constructing the Subject instance to ensure the most
specific/accurate data can be used.
USAGE: Most Shiro end-users will never use a SubjectContext instance directly and instead will use a
Subject.Builder (which internally uses a SubjectContext) and build Subject instances that
way.
SecurityManager.createSubject,
SubjectFactory| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface java.util.Map |
|---|
Map.Entry<K,V> |
| Method Summary | |
|---|---|
AuthenticationInfo |
getAuthenticationInfo()
|
AuthenticationToken |
getAuthenticationToken()
|
String |
getHost()
Returns the host name or IP that should reflect the constructed Subject's originating location. |
PrincipalCollection |
getPrincipals()
Returns the principals (aka identity) that the constructed Subject should reflect. |
SecurityManager |
getSecurityManager()
Returns the SecurityManager instance that should be used to back the constructed Subject instance or
null if one has not yet been provided to this context. |
Session |
getSession()
Returns the Session to use when building the Subject instance. |
Serializable |
getSessionId()
Returns the session id of the session that should be associated with the constructed Subject instance. |
Subject |
getSubject()
Returns any existing Subject that may be in use at the time the new Subject instance is
being created. |
boolean |
isAuthenticated()
Returns true if the constructed Subject should be considered authenticated, false
otherwise. |
boolean |
isSessionCreationEnabled()
Returns true if the constructed Subject should be allowed to create a session, false
otherwise. |
boolean |
resolveAuthenticated()
|
String |
resolveHost()
|
PrincipalCollection |
resolvePrincipals()
|
SecurityManager |
resolveSecurityManager()
Resolves the SecurityManager instance that should be used to back the constructed Subject
instance (typically used to support DelegatingSubject implementations). |
Session |
resolveSession()
|
void |
setAuthenticated(boolean authc)
Sets whether or not the constructed Subject instance should be considered as authenticated. |
void |
setAuthenticationInfo(AuthenticationInfo info)
|
void |
setAuthenticationToken(AuthenticationToken token)
|
void |
setHost(String host)
Sets the host name or IP that should reflect the constructed Subject's originating location. |
void |
setPrincipals(PrincipalCollection principals)
Sets the principals (aka identity) that the constructed Subject should reflect. |
void |
setSecurityManager(SecurityManager securityManager)
Sets the SecurityManager instance that should be used to back the constructed Subject instance
(typically used to support DelegatingSubject implementations). |
void |
setSession(Session session)
Sets the Session to use when building the Subject instance. |
void |
setSessionCreationEnabled(boolean enabled)
Sets whether or not the constructed Subject instance should be allowed to create a session,
false otherwise. |
void |
setSessionId(Serializable sessionId)
Sets the session id of the session that should be associated with the constructed Subject instance. |
void |
setSubject(Subject subject)
Sets the existing Subject that may be in use at the time the new Subject instance is
being created. |
| Methods inherited from interface java.util.Map |
|---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
| Method Detail |
|---|
SecurityManager getSecurityManager()
Subject instance or
null if one has not yet been provided to this context.
Subject instance or
null if one has not yet been provided to this context.void setSecurityManager(SecurityManager securityManager)
Subject instance
(typically used to support DelegatingSubject implementations).
securityManager - the SecurityManager instance that should be used to back the constructed Subject
instance.SecurityManager resolveSecurityManager()
SecurityManager instance that should be used to back the constructed Subject
instance (typically used to support DelegatingSubject implementations).
SecurityManager instance that should be used to back the constructed Subject
instanceSerializable getSessionId()
Subject instance.
The construction process is expected to resolve the session with the specified id and then construct the Subject
instance based on the resolved session.
Subject instance.void setSessionId(Serializable sessionId)
Subject instance.
The construction process is expected to resolve the session with the specified id and then construct the Subject
instance based on the resolved session.
sessionId - the session id of the session that should be associated with the constructed Subject
instance.Subject getSubject()
Subject that may be in use at the time the new Subject instance is
being created.
This is typically used in the case where the existing Subject instance returned by
this method is unauthenticated and a new Subject instance is being created to reflect a successful
authentication - you want to return most of the state of the previous Subject instance when creating the
newly authenticated instance.
Subject that may be in use at the time the new Subject instance is
being created.void setSubject(Subject subject)
Subject that may be in use at the time the new Subject instance is
being created.
This is typically used in the case where the existing Subject instance returned by
this method is unauthenticated and a new Subject instance is being created to reflect a successful
authentication - you want to return most of the state of the previous Subject instance when creating the
newly authenticated instance.
subject - the existing Subject that may be in use at the time the new Subject instance is
being created.PrincipalCollection getPrincipals()
Subject should reflect.
Subject should reflect.PrincipalCollection resolvePrincipals()
void setPrincipals(PrincipalCollection principals)
Subject should reflect.
principals - the principals (aka identity) that the constructed Subject should reflect.Session getSession()
Session to use when building the Subject instance. Note that it is more
common to specify a sessionId to acquire the desired session rather than having to
construct a Session to be returned by this method.
Session to use when building the Subject instance.void setSession(Session session)
Session to use when building the Subject instance. Note that it is more
common to specify a sessionId to automatically resolve the desired session rather than
constructing a Session to call this method.
session - the Session to use when building the Subject instance.Session resolveSession()
boolean isAuthenticated()
true if the constructed Subject should be considered authenticated, false
otherwise. Be careful setting this value to true - you should know what you are doing and have a good
reason for ignoring Shiro's default authentication state mechanisms.
true if the constructed Subject should be considered authenticated, false
otherwise.void setAuthenticated(boolean authc)
Subject instance should be considered as authenticated. Be careful
when specifying true - you should know what you are doing and have a good reason for ignoring Shiro's
default authentication state mechanisms.
authc - whether or not the constructed Subject instance should be considered as authenticated.boolean isSessionCreationEnabled()
true if the constructed Subject should be allowed to create a session, false
otherwise. Shiro's configuration defaults to true as most applications find value in Sessions.
true if the constructed Subject should be allowed to create sessions, false
otherwise.void setSessionCreationEnabled(boolean enabled)
Subject instance should be allowed to create a session,
false otherwise.
enabled - whether or not the constructed Subject instance should be allowed to create a session,
false otherwise.boolean resolveAuthenticated()
AuthenticationInfo getAuthenticationInfo()
void setAuthenticationInfo(AuthenticationInfo info)
AuthenticationToken getAuthenticationToken()
void setAuthenticationToken(AuthenticationToken token)
String getHost()
Subject's originating location.
Subject's originating location.void setHost(String host)
Subject's originating location.
host - the host name or IP that should reflect the constructed Subject's originating location.String resolveHost()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||