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.
- 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)