<?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.1.2</tlib-version>

    <jsp-version>1.2</jsp-version>

    <short-name>JSecurity</short-name>

    <uri>http://www.jsecurity.org/tags</uri>

    <description>JSecurity JSP Tag Library. Authors: Les Hazlewood, Jeremy Haile</description>

    <tag>
        <name>hasPermission</name>
        <tag-class>org.jsecurity.web.tags.HasPermissionTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current Subject (user)
            'has' (implies) the specified permission (i.e the user has the specified ability).</description>
        <attribute>
            <name>type</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>name</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>actions</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>lacksPermission</name>
        <tag-class>org.jsecurity.web.tags.LacksPermissionTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current Subject (user) does
            NOT have (not imply) the specified permission (i.e. the user lacks the specified ability)
        </description>
        <attribute>
            <name>type</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>name</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>actions</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>hasRole</name>
        <tag-class>org.jsecurity.web.tags.HasRoleTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current user has the specified role.</description>
        <attribute>
            <name>name</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>


    <tag>
        <name>hasAnyRoles</name>
        <tag-class>org.jsecurity.web.tags.HasAnyRolesTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current user has one of the specified roles from a
            comma-separated list of role names.</description>
        <attribute>
            <name>name</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>lacksRole</name>
        <tag-class>org.jsecurity.web.tags.LacksRoleTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current user does NOT have the specified role
            (i.e. they explicitly lack the specified role)
        </description>
        <attribute>
            <name>name</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

    <tag>
        <name>authenticated</name>
        <tag-class>org.jsecurity.web.tags.AuthenticatedTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current user is authenticated.</description>
    </tag>

    <tag>
        <name>notAuthenticated</name>
        <tag-class>org.jsecurity.web.tags.NotAuthenticatedTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays body content only if the current user is not authenticated.</description>
    </tag>

    <tag>
        <name>principal</name>
        <tag-class>org.jsecurity.web.tags.PrincipalTag</tag-class>
        <body-content>JSP</body-content>
        <description>Displays the user's principal or a property of the user's principal.</description>
        <attribute>
            <name>type</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>property</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
        <attribute>
            <name>defaultValue</name>
            <required>false</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>

</taglib>