<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
	<tlib-version>1.0</tlib-version>
	<jsp-version>1.2</jsp-version>
	<short-name>authz</short-name>
	<uri>http://acegisecurity.org/authz</uri>
	<description>
        Acegi Security Systems Authorization Tag Library
		$Id: authz.tld 1754 2006-11-17 02:01:21Z benalex $
	</description>

	<tag>
		<name>authorize</name>
		<tag-class>org.acegisecurity.taglibs.authz.AuthorizeTag</tag-class>
		<description>
            A simple tag to output or not the body of the tag if the principal
            has or doesn't have certain authorities.
		</description>

		<attribute>
			<name>ifNotGranted</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                A comma separated list of roles which the user must not have
                for the body to be output.
			</description>
		</attribute>

		<attribute>
			<name>ifAllGranted</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                A comma separated list of roles which the user must all
                possess for the body to be output.
			</description>
		</attribute>

		<attribute>
			<name>ifAnyGranted</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                A comma separated list of roles, one of which the user must
                possess for the body to be output.
			</description>
		</attribute>
	</tag>

	<tag>
		<name>authentication</name>
		<tag-class>org.acegisecurity.taglibs.authz.AuthenticationTag</tag-class>
		<description>
            Allows access to the current Authentication object.
		</description>

		<attribute>
			<name>operation</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                Must be one of the methods of an instance that implements the UserDetails 
                interface. Use the JavaBean style property, you can provide a custom prefix 
                for the method to call.
			</description>
		</attribute>
		
		<attribute>
			<name>methodPrefix</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                Must be get or is. This is used to determine the name of the 
                method to be called. The default is get.
			</description>
		</attribute>		
	</tag>


	<tag>
		<name>acl</name>
		<tag-class>org.acegisecurity.taglibs.authz.AclTag</tag-class>
		<description>
            Allows inclusion of a tag body if the current Authentication
			has one of the specified permissions to the presented
			domain object instance. This tag uses the first AclManager
			it locates via
			WebApplicationContextUtils.getRequiredWebApplicationContext(HttpServletContext).
		</description>

		<attribute>
			<name>hasPermission</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                A comma separated list of integers, each representing a
				required bit mask permission from a subclass of
				org.acegisecurity.acl.basic.AbstractBasicAclEntry.
			</description>
		</attribute>
		<attribute>
			<name>domainObject</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                The actual domain object instance for which permissions
				are being evaluated.
			</description>
		</attribute>
	</tag>

	<tag>
		<name>accesscontrollist</name>
		<tag-class>org.acegisecurity.taglibs.authz.AccessControlListTag</tag-class>
		<description>
            Allows inclusion of a tag body if the current Authentication
			has one of the specified permissions to the presented
			domain object instance.
		</description>

		<attribute>
			<name>hasPermission</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                A comma separated list of integers, each representing a
				required bit mask permission from a subclass of
				org.acegisecurity.acl.basic.AbstractBasicAclEntry.
			</description>
		</attribute>
		<attribute>
			<name>domainObject</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<description>
                The actual domain object instance for which permissions
				are being evaluated.
			</description>
		</attribute>
	</tag>
	
</taglib>
