blob: 7dc5ff20a3aa2828cb696c0b4cfdd5a18446583b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_65) on Tue Feb 25 18:15:46 EST 2014 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Authorizer (Apache Shiro 1.2.3 API)
</TITLE>
<META NAME="date" CONTENT="2014-02-25">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Authorizer (Apache Shiro 1.2.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Authorizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/authz/Authorizer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Authorizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.shiro.authz</FONT>
<BR>
Interface Authorizer</H2>
<DL>
<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A>, <A HREF="../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</A>, <A HREF="../../../../org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</A>, <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</A>, <A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</A>, <A HREF="../../../../org/apache/shiro/cas/CasRealm.html" title="class in org.apache.shiro.cas">CasRealm</A>, <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</A>, <A HREF="../../../../org/apache/shiro/web/mgt/DefaultWebSecurityManager.html" title="class in org.apache.shiro.web.mgt">DefaultWebSecurityManager</A>, <A HREF="../../../../org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</A>, <A HREF="../../../../org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</A>, <A HREF="../../../../org/apache/shiro/realm/ldap/JndiLdapRealm.html" title="class in org.apache.shiro.realm.ldap">JndiLdapRealm</A>, <A HREF="../../../../org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</A>, <A HREF="../../../../org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</A>, <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</A>, <A HREF="../../../../org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</A>, <A HREF="../../../../org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.48"><B>Authorizer</B></A></DL>
</PRE>
<P>
An <tt>Authorizer</tt> performs authorization (access control) operations for any given Subject
(aka 'application user').
<p>Each method requires a subject principal to perform the action for the corresponding Subject/user.
<p>This principal argument is usually an object representing a user database primary key or a String username or
something similar that uniquely identifies an application user. The runtime value of the this principal
is application-specific and provided by the application's configured Realms.
<p>Note that there are many *Permission methods in this interface overloaded to accept String arguments instead of
<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> instances. They are a convenience allowing the caller to use a String representation of
a <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> if desired. Most implementations of this interface will simply convert these
String values to <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> instances and then just call the corresponding type-safe method.
(Shiro's default implementations do String-to-Permission conversion for these methods using
<A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission"><CODE>PermissionResolver</CODE></A>s.)
<p>These overloaded *Permission methods <em>do</em> forego type-saftey for the benefit of convenience and simplicity,
so you should choose which ones to use based on your preferences and needs.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.1</DD>
</DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">checkPermission</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures a subject/user <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>Permission.implies(Permission)</CODE></A> implies} the specified <tt>Permission</tt>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkPermission</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;permission)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures the corresponding Subject/user implies the specified permission String.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkPermissions</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures the corresponding Subject/user
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implies</CODE></A> all of the
specified permission strings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkPermissions</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ensures the corresponding Subject/user
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implies</CODE></A> all of the
specified permission strings.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkRole</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;roleIdentifier)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asserts the corresponding Subject/user has the specified role by returning quietly if they do or throwing an
<A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> if they do not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkRoles</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Asserts the corresponding Subject/user has all of the specified roles by returning quietly if they do or
throwing an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> if they do not.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkRoles</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;roleIdentifiers)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same as <A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><CODE>checkRoles(PrincipalCollection subjectPrincipal, Collection&lt;String&gt; roleIdentifiers)</CODE></A> but doesn't require a collection
as an argument.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">hasAllRoles</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding Subject/user has all of the specified roles, <tt>false</tt> otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">hasRole</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;roleIdentifier)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)">hasRoles</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if the corresponding Subject/user has the specified roles, returning a boolean array indicating
which roles are associated with the given subject.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)">isPermitted</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if the corresponding Subject/user implies the given Permissions and returns a boolean array indicating
which permissions are implied.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">isPermitted</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding subject/user is permitted to perform an action or access a resource
summarized by the specified permission.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermitted</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks if the corresponding Subject implies the given permission strings and returns a boolean array
indicating which permissions are implied.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">isPermitted</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;permission)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding subject/user is permitted to perform an action or access a resource
summarized by the specified permission string.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">isPermittedAll</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permissions, <tt>false</tt>
otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermittedAll</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permission strings,
<tt>false</tt> otherwise.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.63"><B>isPermitted</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;permission)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding subject/user is permitted to perform an action or access a resource
summarized by the specified permission string.
<p>This is an overloaded method for the corresponding type-safe <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> variant.
Please see the class-level JavaDoc for more information on these String-based permission methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the application-specific subject/user identifier.<DD><CODE>permission</CODE> - the String representation of a Permission that is being checked.
<DT><B>Returns:</B><DD>true if the corresponding Subject/user is permitted, false otherwise.<DT><B>Since:</B></DT>
<DD>0.9</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)"><CODE>isPermitted(PrincipalCollection principals,Permission permission)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.76"><B>isPermitted</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding subject/user is permitted to perform an action or access a resource
summarized by the specified permission.
<p>More specifically, this method determines if any <tt>Permission</tt>s associated
with the subject <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>imply</CODE></A> the specified permission.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permission</CODE> - the permission that is being checked.
<DT><B>Returns:</B><DD>true if the corresponding Subject/user is permitted, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
boolean[] <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.93"><B>isPermitted</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)</PRE>
<DL>
<DD>Checks if the corresponding Subject implies the given permission strings and returns a boolean array
indicating which permissions are implied.
<p>This is an overloaded method for the corresponding type-safe <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> variant.
Please see the class-level JavaDoc for more information on these String-based permission methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the String representations of the Permissions that are being checked.
<DT><B>Returns:</B><DD>an array of booleans whose indices correspond to the index of the
permissions in the given list. A true value at an index indicates the user is permitted for
for the associated <tt>Permission</tt> string in the list. A false value at an index
indicates otherwise.<DT><B>Since:</B></DT>
<DD>0.9</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
boolean[] <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.113"><B>isPermitted</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)</PRE>
<DL>
<DD>Checks if the corresponding Subject/user implies the given Permissions and returns a boolean array indicating
which permissions are implied.
<p>More specifically, this method should determine if each <tt>Permission</tt> in
the array is <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implied</CODE></A> by permissions
already associated with the subject.
<p>This is primarily a performance-enhancing method to help reduce the number of
<A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><CODE>isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)</CODE></A> invocations over the wire in client/server systems.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the permissions that are being checked.
<DT><B>Returns:</B><DD>an array of booleans whose indices correspond to the index of the
permissions in the given list. A true value at an index indicates the user is permitted for
for the associated <tt>Permission</tt> object in the list. A false value at an index
indicates otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
isPermittedAll</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.128"><B>isPermittedAll</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permission strings,
<tt>false</tt> otherwise.
<p>This is an overloaded method for the corresponding type-safe <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> variant.
Please see the class-level JavaDoc for more information on these String-based permission methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the String representations of the Permissions that are being checked.
<DT><B>Returns:</B><DD>true if the user has all of the specified permissions, false otherwise.<DT><B>Since:</B></DT>
<DD>0.9</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><CODE>isPermittedAll(PrincipalCollection,Collection)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
isPermittedAll</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.141"><B>isPermittedAll</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permissions, <tt>false</tt>
otherwise.
<p>More specifically, this method determines if all of the given <tt>Permission</tt>s are
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implied by</CODE></A> permissions already associated with the subject.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the permissions to check.
<DT><B>Returns:</B><DD>true if the user has all of the specified permissions, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
checkPermission</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.158"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;permission)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Ensures the corresponding Subject/user implies the specified permission String.
<p>If the subject's existing associated permissions do not <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>Permission.implies(Permission)</CODE></A> imply}
the given permission, an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> will be thrown.
<p>This is an overloaded method for the corresponding type-safe <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> variant.
Please see the class-level JavaDoc for more information on these String-based permission methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permission</CODE> - the String representation of the Permission to check.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have the permission.<DT><B>Since:</B></DT>
<DD>0.9</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)"><!-- --></A><H3>
checkPermission</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.170"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Ensures a subject/user <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>Permission.implies(Permission)</CODE></A> implies} the specified <tt>Permission</tt>.
If the subject's exisiting associated permissions do not <A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>Permission.implies(Permission)</CODE></A> imply}
the given permission, an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> will be thrown.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permission</CODE> - the Permission to check.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have the permission.</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
checkPermissions</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.189"><B>checkPermissions</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;permissions)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Ensures the corresponding Subject/user
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implies</CODE></A> all of the
specified permission strings.
If the subject's exisiting associated permissions do not
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>imply</CODE></A> all of the given permissions,
an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> will be thrown.
<p>This is an overloaded method for the corresponding type-safe <A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><CODE>Permission</CODE></A> variant.
Please see the class-level JavaDoc for more information on these String-based permission methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the string representations of Permissions to check.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have all of the given permissions.<DT><B>Since:</B></DT>
<DD>0.9</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
checkPermissions</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.204"><B>checkPermissions</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&gt;&nbsp;permissions)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Ensures the corresponding Subject/user
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>implies</CODE></A> all of the
specified permission strings.
If the subject's exisiting associated permissions do not
<A HREF="../../../../org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><CODE>imply</CODE></A> all of the given permissions,
an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> will be thrown.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>permissions</CODE> - the Permissions to check.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have all of the given permissions.</DL>
</DD>
</DL>
<HR>
<A NAME="hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
hasRole</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.213"><B>hasRole</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;roleIdentifier)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifier</CODE> - the application-specific role identifier (usually a role id or role name).
<DT><B>Returns:</B><DD><tt>true</tt> if the corresponding subject has the specified role, <tt>false</tt> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)"><!-- --></A><H3>
hasRoles</H3>
<PRE>
boolean[] <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.228"><B>hasRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)</PRE>
<DL>
<DD>Checks if the corresponding Subject/user has the specified roles, returning a boolean array indicating
which roles are associated with the given subject.
<p>This is primarily a performance-enhancing method to help reduce the number of
<A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><CODE>hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)</CODE></A> invocations over the wire in client/server systems.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifiers</CODE> - the application-specific role identifiers to check (usually role ids or role names).
<DT><B>Returns:</B><DD>an array of booleans whose indices correspond to the index of the
roles in the given identifiers. A true value indicates the user has the
role at that index. False indicates the user does not have the role at that index.</DL>
</DD>
</DL>
<HR>
<A NAME="hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
hasAllRoles</H3>
<PRE>
boolean <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.237"><B>hasAllRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)</PRE>
<DL>
<DD>Returns <tt>true</tt> if the corresponding Subject/user has all of the specified roles, <tt>false</tt> otherwise.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifiers</CODE> - the application-specific role identifiers to check (usually role ids or role names).
<DT><B>Returns:</B><DD>true if the user has all the roles, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
checkRole</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.248"><B>checkRole</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;roleIdentifier)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Asserts the corresponding Subject/user has the specified role by returning quietly if they do or throwing an
<A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> if they do not.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifier</CODE> - the application-specific role identifier (usually a role id or role name ).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have the role.</DL>
</DD>
</DL>
<HR>
<A NAME="checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
checkRoles</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.259"><B>checkRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&gt;&nbsp;roleIdentifiers)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Asserts the corresponding Subject/user has all of the specified roles by returning quietly if they do or
throwing an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> if they do not.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifiers</CODE> - the application-specific role identifiers to check (usually role ids or role names).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have all of the specified roles.</DL>
</DD>
</DL>
<HR>
<A NAME="checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
checkRoles</H3>
<PRE>
void <A HREF="../../../../src-html/org/apache/shiro/authz/Authorizer.html#line.275"><B>checkRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectPrincipal,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>...&nbsp;roleIdentifiers)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD>Same as <A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><CODE>checkRoles(PrincipalCollection subjectPrincipal, Collection&lt;String&gt; roleIdentifiers)</CODE></A> but doesn't require a collection
as an argument.
Asserts the corresponding Subject/user has all of the specified roles by returning quietly if they do or
throwing an <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><CODE>AuthorizationException</CODE></A> if they do not.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectPrincipal</CODE> - the application-specific subject/user identifier.<DD><CODE>roleIdentifiers</CODE> - the application-specific role identifiers to check (usually role ids or role names).
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></CODE> - if the user does not have all of the specified roles.<DT><B>Since:</B></DT>
<DD>1.1.0</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Authorizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/authz/Authorizer.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Authorizer.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>