org.springframework.security.taglibs.authz
Class AccessControlListTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
org.springframework.security.taglibs.authz.AccessControlListTag
- All Implemented Interfaces:
- Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag
public class AccessControlListTag
- extends javax.servlet.jsp.tagext.TagSupport
An implementation of Tag
that allows its body through if some authorizations are granted to the request's
principal.
One or more comma separate numeric are specified via the hasPermission attribute.
These permissions are then converted into Permission
instances using the PermissionFactory
instance obtained from the application context, or a DefaultPermissionFactory
if one isn't found.
The Permission instances are then presented as a list
array to the Acl.isGranted(List, List, boolean)
method.
The Sid
presented is determined by the SidRetrievalStrategy
.
For this class to operate it must be able to access the application context via the
WebApplicationContextUtils
and attempt to locate an AclService
,
ObjectIdentityRetrievalStrategy
and SidRetrievalStrategy
.
There cannot be more than one of these present. The AclService must be provided, but a
SidRetrievalStrategyImpl
and/or an ObjectIdentityRetrievalStrategyImpl
will be created if no
implementations are found in the application context.
- Version:
- $Id: AccessControlListTag.java 3930 2009-10-07 19:07:22Z ltaylor $
- Author:
- Ben Alex
- See Also:
- Serialized Form
Field Summary |
protected static org.apache.commons.logging.Log |
logger
|
Fields inherited from class javax.servlet.jsp.tagext.TagSupport |
id, pageContext |
Fields inherited from interface javax.servlet.jsp.tagext.IterationTag |
EVAL_BODY_AGAIN |
Fields inherited from interface javax.servlet.jsp.tagext.Tag |
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE |
Methods inherited from class javax.servlet.jsp.tagext.TagSupport |
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
protected static final org.apache.commons.logging.Log logger
AccessControlListTag
public AccessControlListTag()
doStartTag
public int doStartTag()
throws javax.servlet.jsp.JspException
- Specified by:
doStartTag
in interface javax.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in class javax.servlet.jsp.tagext.TagSupport
- Throws:
javax.servlet.jsp.JspException
getContext
protected ApplicationContext getContext(javax.servlet.jsp.PageContext pageContext)
- Allows test cases to override where application context obtained from.
- Parameters:
pageContext
- so the ServletContext
can be accessed as required by Spring's
WebApplicationContextUtils
- Returns:
- the Spring application context (never
null
)
getDomainObject
public Object getDomainObject()
getHasPermission
public String getHasPermission()
setDomainObject
public void setDomainObject(Object domainObject)
setHasPermission
public void setHasPermission(String hasPermission)
Copyright © 2004-2009 SpringSource, Inc. All Rights Reserved.