|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.acegisecurity.runas.RunAsManagerImpl
public class RunAsManagerImpl
Basic concrete implementation of a RunAsManager.
Is activated if any ConfigAttribute.getAttribute() is prefixed with
RUN_AS_. If found, it generates a new RunAsUserToken
containing the same principal, credentials and granted authorities as the
original Authentication object, along with GrantedAuthorityImpls for each RUN_AS_ indicated. The created
GrantedAuthorityImpls will be prefixed with a special prefix
indicating that it is a role (default prefix value is ROLE_),
and then the remainder of the RUN_AS_ keyword. For example,
RUN_AS_FOO will result in the creation of a granted authority
of ROLE_RUN_AS_FOO.
The role prefix may be overriden from the default, to match that used
elsewhere, for example when using an existing role database with another
prefix. An empty role prefix may also be specified. Note however that there
are potential issues with using an empty role prefix since different
categories of ConfigAttribute can not be
properly discerned based on the prefix, with possible consequences when
performing voting and other actions. However, this option may be of some
use when using preexisting role names without a prefix, and no ability
exists to prefix them with a role prefix on reading them in, such as
provided for example in JdbcDaoImpl.
| Constructor Summary | |
|---|---|
RunAsManagerImpl()
|
|
| Method Summary | |
|---|---|
void |
afterPropertiesSet()
|
Authentication |
buildRunAs(Authentication authentication,
Object object,
ConfigAttributeDefinition config)
Returns a replacement Authentication object for the current
secure object invocation, or null if replacement not
required. |
String |
getKey()
|
String |
getRolePrefix()
|
void |
setKey(String key)
|
void |
setRolePrefix(String rolePrefix)
Allows the default role prefix of ROLE_ to be overriden. |
boolean |
supports(Class clazz)
This implementation supports any type of class, because it does not query the presented secure object. |
boolean |
supports(ConfigAttribute attribute)
Indicates whether this RunAsManager is able to process the
passed ConfigAttribute. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RunAsManagerImpl()
| Method Detail |
|---|
public void setKey(String key)
public String getKey()
public void setRolePrefix(String rolePrefix)
ROLE_ to be overriden.
May be set to an empty value, although this is usually not desireable.
rolePrefix - the new prefixpublic String getRolePrefix()
public void afterPropertiesSet()
throws Exception
afterPropertiesSet in interface InitializingBeanException
public Authentication buildRunAs(Authentication authentication,
Object object,
ConfigAttributeDefinition config)
RunAsManagerAuthentication object for the current
secure object invocation, or null if replacement not
required.
buildRunAs in interface RunAsManagerauthentication - the caller invoking the secure objectobject - the secured object being calledconfig - the configuration attributes associated with the secure
object being invoked
null if the
Authentication should be left as ispublic boolean supports(ConfigAttribute attribute)
RunAsManagerRunAsManager is able to process the
passed ConfigAttribute.
This allows the AbstractSecurityInterceptor to check every
configuration attribute can be consumed by the configured
AccessDecisionManager and/or RunAsManager
and/or AfterInvocationManager.
supports in interface RunAsManagerattribute - a configuration attribute that has been configured
against the AbstractSecurityInterceptor
true if this RunAsManager can support
the passed configuration attributepublic boolean supports(Class clazz)
supports in interface RunAsManagerclazz - the secure object
true
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||