blob: 0798db67070be81d3726ec28de6906a3efc0b212 [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:49 EST 2014 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AuthorizingRealm (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="AuthorizingRealm (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/AuthorizingRealm.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/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/realm/AuthorizingRealm.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AuthorizingRealm.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;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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.realm</FONT>
<BR>
Class AuthorizingRealm</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.CachingRealm</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.AuthenticatingRealm</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.shiro.realm.AuthorizingRealm</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/shiro/authc/LogoutAware.html" title="interface in org.apache.shiro.authc">LogoutAware</A>, <A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A>, <A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</A>, <A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</A>, <A HREF="../../../../org/apache/shiro/cache/CacheManagerAware.html" title="interface in org.apache.shiro.cache">CacheManagerAware</A>, <A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</A>, <A HREF="../../../../org/apache/shiro/util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</A>, <A HREF="../../../../org/apache/shiro/util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</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/cas/CasRealm.html" title="class in org.apache.shiro.cas">CasRealm</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/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.55"><B>AuthorizingRealm</B></A><DT>extends <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A><DT>implements <A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A>, <A HREF="../../../../org/apache/shiro/util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</A>, <A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</A>, <A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</A></DL>
</PRE>
<P>
An <code>AuthorizingRealm</code> extends the <code>AuthenticatingRealm</code>'s capabilities by adding Authorization
(access control) support.
<p/>
This implementation will perform all role and permission checks automatically (and subclasses do not have to
write this logic) as long as the
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</CODE></A> method returns an
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><CODE>AuthorizationInfo</CODE></A>. Please see that method's JavaDoc for an in-depth explanation.
<p/>
If you find that you do not want to utilize the <A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><CODE>AuthorizationInfo</CODE></A> construct,
you are of course free to subclass the <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm"><CODE>AuthenticatingRealm</CODE></A> directly instead and
implement the remaining Realm interface methods directly. You might do this if you want have better control
over how the Role and Permission checks occur for your specific data source. However, using AuthorizationInfo
(and its default implementation <A HREF="../../../../org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><CODE>SimpleAuthorizationInfo</CODE></A>) is sufficient in the large
majority of Realm cases.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><CODE>SimpleAuthorizationInfo</CODE></A></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_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>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#AuthorizingRealm()">AuthorizingRealm</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#AuthorizingRealm(org.apache.shiro.cache.CacheManager)">AuthorizingRealm</A></B>(<A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</A>&nbsp;cacheManager)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#AuthorizingRealm(org.apache.shiro.cache.CacheManager, org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm</A></B>(<A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</A>&nbsp;cacheManager,
<A HREF="../../../../org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</A>&nbsp;matcher)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#AuthorizingRealm(org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm</A></B>(<A HREF="../../../../org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</A>&nbsp;matcher)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#afterCacheManagerSet()">afterCacheManagerSet</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This implementation attempts to acquire an authentication cache if one is not already configured.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.authz.Permission, org.apache.shiro.authz.AuthorizationInfo)">checkPermission</A></B>(<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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/realm/AuthorizingRealm.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;subjectIdentifier,
<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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#checkPermissions(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)">checkPermissions</A></B>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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/realm/AuthorizingRealm.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;subjectIdentifier,
<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/realm/AuthorizingRealm.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;principal,
<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;role)</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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#checkRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)">checkRole</A></B>(<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;role,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#checkRoles(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)">checkRoles</A></B>(<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;roles,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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;roles)</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/realm/AuthorizingRealm.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;principal,
<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;roles)</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>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthorizationInfo</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears out the AuthorizationInfo cache entry for the specified account.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calls <code>super.doClearCache</code> to ensure any cached authentication data is removed and then calls
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</CODE></A> to remove any cached
authorization data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the AuthorizationInfo for the given principals from the underlying data store.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCache()">getAuthorizationCache</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationCacheKey</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCacheName()">getAuthorizationCacheName</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationInfo</A></B>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an account's authorization-specific information for the specified <code>principals</code>,
or <code>null</code> if no account could be found.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getPermissionResolver()">getPermissionResolver</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getRolePermissionResolver()">getRolePermissionResolver</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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/realm/AuthorizingRealm.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;principal,
<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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#hasRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)">hasRole</A></B>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#hasRoles(java.util.List, org.apache.shiro.authz.AuthorizationInfo)">hasRoles</A></B>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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/realm/AuthorizingRealm.html#isAuthorizationCachingEnabled()">isAuthorizationCachingEnabled</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if authorization caching should be utilized if a <A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache"><CODE>CacheManager</CODE></A> has been
<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>configured</CODE></A>, <code>false</code> otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(java.util.List, org.apache.shiro.authz.AuthorizationInfo)">isPermitted</A></B>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principals,
<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/realm/AuthorizingRealm.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;principals,
<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/realm/AuthorizingRealm.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;subjectIdentifier,
<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/realm/AuthorizingRealm.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>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#isPermittedAll(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)">isPermittedAll</A></B>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.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;principal,
<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/realm/AuthorizingRealm.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;subjectIdentifier,
<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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#onInit()">onInit</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes this realm and potentially enables a cache, depending on configuration.</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/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)">setAuthorizationCache</A></B>(<A HREF="../../../../org/apache/shiro/cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&gt;&nbsp;authorizationCache)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.html#setAuthorizationCacheName(java.lang.String)">setAuthorizationCacheName</A></B>(<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;authorizationCacheName)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/realm/AuthorizingRealm.html#setAuthorizationCachingEnabled(boolean)">setAuthorizationCachingEnabled</A></B>(boolean&nbsp;authenticationCachingEnabled)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether or not authorization caching should be utilized if a <A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache"><CODE>CacheManager</CODE></A> has been
<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>configured</CODE></A>, <code>false</code> otherwise.</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/realm/AuthorizingRealm.html#setName(java.lang.String)">setName</A></B>(<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;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the (preferably application unique) name for this component.</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/realm/AuthorizingRealm.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver</A></B>(<A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</A>&nbsp;permissionResolver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the specified <tt>PermissionResolver</tt> on this instance.</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/realm/AuthorizingRealm.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver</A></B>(<A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</A>&nbsp;permissionRoleResolver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the specified <tt>RolePermissionResolver</tt> on this instance.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.realm.AuthenticatingRealm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.realm.<A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#assertCredentialsMatch(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo)">assertCredentialsMatch</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthenticationInfo</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCache()">getAuthenticationCache</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationCacheKey</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthenticationCacheKey</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheName()">getAuthenticationCacheName</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationTokenClass()">getAuthenticationTokenClass</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getCredentialsMatcher()">getCredentialsMatcher</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#init()">init</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#isAuthenticationCachingEnabled()">isAuthenticationCachingEnabled</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#isAuthenticationCachingEnabled(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo)">isAuthenticationCachingEnabled</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)">setAuthenticationCache</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCacheName(java.lang.String)">setAuthenticationCacheName</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCachingEnabled(boolean)">setAuthenticationCachingEnabled</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationTokenClass(java.lang.Class)">setAuthenticationTokenClass</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setCredentialsMatcher(org.apache.shiro.authc.credential.CredentialsMatcher)">setCredentialsMatcher</A>, <A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.realm.CachingRealm"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.realm.<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)">clearCache</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#getAvailablePrincipal(org.apache.shiro.subject.PrincipalCollection)">getAvailablePrincipal</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#getCacheManager()">getCacheManager</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#getName()">getName</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#isCachingEnabled()">isCachingEnabled</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager</A>, <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCachingEnabled(boolean)">setCachingEnabled</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.util.Initializable"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.shiro.util.<A HREF="../../../../org/apache/shiro/util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/util/Initializable.html#init()">init</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_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>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AuthorizingRealm()"><!-- --></A><H3>
AuthorizingRealm</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.90"><B>AuthorizingRealm</B></A>()</PRE>
<DL>
</DL>
<HR>
<A NAME="AuthorizingRealm(org.apache.shiro.cache.CacheManager)"><!-- --></A><H3>
AuthorizingRealm</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.94"><B>AuthorizingRealm</B></A>(<A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</A>&nbsp;cacheManager)</PRE>
<DL>
</DL>
<HR>
<A NAME="AuthorizingRealm(org.apache.shiro.authc.credential.CredentialsMatcher)"><!-- --></A><H3>
AuthorizingRealm</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.98"><B>AuthorizingRealm</B></A>(<A HREF="../../../../org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</A>&nbsp;matcher)</PRE>
<DL>
</DL>
<HR>
<A NAME="AuthorizingRealm(org.apache.shiro.cache.CacheManager, org.apache.shiro.authc.credential.CredentialsMatcher)"><!-- --></A><H3>
AuthorizingRealm</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.102"><B>AuthorizingRealm</B></A>(<A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</A>&nbsp;cacheManager,
<A HREF="../../../../org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</A>&nbsp;matcher)</PRE>
<DL>
</DL>
<!-- ============ 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="setName(java.lang.String)"><!-- --></A><H3>
setName</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.121"><B>setName</B></A>(<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;name)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/util/Nameable.html#setName(java.lang.String)">Nameable</A></CODE></B></DD>
<DD>Sets the (preferably application unique) name for this component.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/util/Nameable.html#setName(java.lang.String)">setName</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#setName(java.lang.String)">setName</A></CODE> in class <CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - the preferably application unique name for this component.</DL>
</DD>
</DL>
<HR>
<A NAME="setAuthorizationCache(org.apache.shiro.cache.Cache)"><!-- --></A><H3>
setAuthorizationCache</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.131"><B>setAuthorizationCache</B></A>(<A HREF="../../../../org/apache/shiro/cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&gt;&nbsp;authorizationCache)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAuthorizationCache()"><!-- --></A><H3>
getAuthorizationCache</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&gt; <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.135"><B>getAuthorizationCache</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAuthorizationCacheName()"><!-- --></A><H3>
getAuthorizationCacheName</H3>
<PRE>
public <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> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.139"><B>getAuthorizationCacheName</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setAuthorizationCacheName(java.lang.String)"><!-- --></A><H3>
setAuthorizationCacheName</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.144"><B>setAuthorizationCacheName</B></A>(<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;authorizationCacheName)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isAuthorizationCachingEnabled()"><!-- --></A><H3>
isAuthorizationCachingEnabled</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.156"><B>isAuthorizationCachingEnabled</B></A>()</PRE>
<DL>
<DD>Returns <code>true</code> if authorization caching should be utilized if a <A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache"><CODE>CacheManager</CODE></A> has been
<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>configured</CODE></A>, <code>false</code> otherwise.
<p/>
The default value is <code>true</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if authorization caching should be utilized, <code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="setAuthorizationCachingEnabled(boolean)"><!-- --></A><H3>
setAuthorizationCachingEnabled</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.169"><B>setAuthorizationCachingEnabled</B></A>(boolean&nbsp;authenticationCachingEnabled)</PRE>
<DL>
<DD>Sets whether or not authorization caching should be utilized if a <A HREF="../../../../org/apache/shiro/cache/CacheManager.html" title="interface in org.apache.shiro.cache"><CODE>CacheManager</CODE></A> has been
<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>configured</CODE></A>, <code>false</code> otherwise.
<p/>
The default value is <code>true</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>authenticationCachingEnabled</CODE> - the value to set</DL>
</DD>
</DL>
<HR>
<A NAME="getPermissionResolver()"><!-- --></A><H3>
getPermissionResolver</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</A> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.176"><B>getPermissionResolver</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)"><!-- --></A><H3>
setPermissionResolver</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.180"><B>setPermissionResolver</B></A>(<A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</A>&nbsp;permissionResolver)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolverAware.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">PermissionResolverAware</A></CODE></B></DD>
<DD>Sets the specified <tt>PermissionResolver</tt> on this instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolverAware.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>permissionResolver</CODE> - the <tt>PermissionResolver</tt> being set.</DL>
</DD>
</DL>
<HR>
<A NAME="getRolePermissionResolver()"><!-- --></A><H3>
getRolePermissionResolver</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</A> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.185"><B>getRolePermissionResolver</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)"><!-- --></A><H3>
setRolePermissionResolver</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.189"><B>setRolePermissionResolver</B></A>(<A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</A>&nbsp;permissionRoleResolver)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolverAware.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">RolePermissionResolverAware</A></CODE></B></DD>
<DD>Sets the specified <tt>RolePermissionResolver</tt> on this instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolverAware.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>permissionRoleResolver</CODE> - the <tt>RolePermissionResolver</tt> being set.</DL>
</DD>
</DL>
<HR>
<A NAME="onInit()"><!-- --></A><H3>
onInit</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.217"><B>onInit</B></A>()</PRE>
<DL>
<DD>Initializes this realm and potentially enables a cache, depending on configuration.
<p/>
When this method is called, the following logic is executed:
<ol>
<li>If the <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)"><CODE>cache</CODE></A> property has been set, it will be
used to cache the AuthorizationInfo objects returned from <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</CODE></A>
method invocations.
All future calls to <code>getAuthorizationInfo</code> will attempt to use this cache first
to alleviate any potentially unnecessary calls to an underlying data store.</li>
<li>If the <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)"><CODE>cache</CODE></A> property has <b>not</b> been set,
the <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>cacheManager</CODE></A> property will be checked.
If a <code>cacheManager</code> has been set, it will be used to create an authorization
<code>cache</code>, and this newly created cache which will be used as specified in #1.</li>
<li>If neither the <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)"><CODE>(org.apache.shiro.cache.Cache) cache</CODE></A>
or <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>cacheManager</CODE></A>
properties are set, caching will be disabled and authorization look-ups will be delegated to
subclass implementations for each authorization check.</li>
</ol>
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#onInit()">onInit</A></CODE> in class <CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="afterCacheManagerSet()"><!-- --></A><H3>
afterCacheManagerSet</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.223"><B>afterCacheManagerSet</B></A>()</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#afterCacheManagerSet()">AuthenticatingRealm</A></CODE></B></DD>
<DD>This implementation attempts to acquire an authentication cache if one is not already configured.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#afterCacheManagerSet()">afterCacheManagerSet</A></CODE> in class <CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><!-- --></A><H3>
getAuthorizationInfo</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.310"><B>getAuthorizationInfo</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</PRE>
<DL>
<DD>Returns an account's authorization-specific information for the specified <code>principals</code>,
or <code>null</code> if no account could be found. The resulting <code>AuthorizationInfo</code> object is used
by the other method implementations in this class to automatically perform access control checks for the
corresponding <code>Subject</code>.
<p/>
This implementation obtains the actual <code>AuthorizationInfo</code> object from the subclass's
implementation of
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>doGetAuthorizationInfo</CODE></A>, and then
caches it for efficient reuse if caching is enabled (see below).
<p/>
Invocations of this method should be thought of as completely orthogonal to acquiring
<A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)"><CODE>authenticationInfo</CODE></A>, since either could
occur in any order.
<p/>
For example, in &quot;Remember Me&quot; scenarios, the user identity is remembered (and
assumed) for their current session and an authentication attempt during that session might never occur.
But because their identity would be remembered, that is sufficient enough information to call this method to
execute any necessary authorization checks. For this reason, authentication and authorization should be
loosely coupled and not depend on each other.
<h3>Caching</h3>
The <code>AuthorizationInfo</code> values returned from this method are cached for efficient reuse
if caching is enabled. Caching is enabled automatically when an <A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)"><CODE>authorizationCache</CODE></A>
instance has been explicitly configured, or if a <A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><CODE>cacheManager</CODE></A> has been configured, which
will be used to lazily create the <code>authorizationCache</code> as needed.
<p/>
If caching is enabled, the authorization cache will be checked first and if found, will return the cached
<code>AuthorizationInfo</code> immediately. If caching is disabled, or there is a cache miss, the authorization
info will be looked up from the underlying data store via the
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</CODE></A> method, which must be implemented
by subclasses.
<h4>Changed Data</h4>
If caching is enabled and if any authorization data for an account is changed at
runtime, such as adding or removing roles and/or permissions, the subclass implementation should clear the
cached AuthorizationInfo for that account via the
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>clearCachedAuthorizationInfo</CODE></A>
method. This ensures that the next call to <code>getAuthorizationInfo(PrincipalCollection)</code> will
acquire the account's fresh authorization data, where it will then be cached for efficient reuse. This
ensures that stale authorization data will not be reused.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the corresponding Subject's identifying principals with which to look up the Subject's
<code>AuthorizationInfo</code>.
<DT><B>Returns:</B><DD>the authorization information for the account associated with the specified <code>principals</code>,
or <code>null</code> if no account could be found.</DL>
</DD>
</DL>
<HR>
<A NAME="getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)"><!-- --></A><H3>
getAuthorizationCacheKey</H3>
<PRE>
protected <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.355"><B>getAuthorizationCacheKey</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><!-- --></A><H3>
clearCachedAuthorizationInfo</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.377"><B>clearCachedAuthorizationInfo</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</PRE>
<DL>
<DD>Clears out the AuthorizationInfo cache entry for the specified account.
<p/>
This method is provided as a convenience to subclasses so they can invalidate a cache entry when they
change an account's authorization data (add/remove roles or permissions) during runtime. Because an account's
AuthorizationInfo can be cached, there needs to be a way to invalidate the cache for only that account so that
subsequent authorization operations don't used the (old) cached value if account data changes.
<p/>
After this method is called, the next authorization check for that same account will result in a call to
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>getAuthorizationInfo</CODE></A>, and the
resulting return value will be cached before being returned so it can be reused for later authorization checks.
<p/>
If you wish to clear out all associated cached data (and not just authorization data), use the
<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)"><CODE>CachingRealm.clearCache(org.apache.shiro.subject.PrincipalCollection)</CODE></A> method instead (which will in turn call this
method by default).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the principals of the account for which to clear the cached AuthorizationInfo.</DL>
</DD>
</DL>
<HR>
<A NAME="doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><!-- --></A><H3>
doGetAuthorizationInfo</H3>
<PRE>
protected abstract <A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A> <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.399"><B>doGetAuthorizationInfo</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</PRE>
<DL>
<DD>Retrieves the AuthorizationInfo for the given principals from the underlying data store. When returning
an instance from this method, you might want to consider using an instance of
<A HREF="../../../../org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><CODE>SimpleAuthorizationInfo</CODE></A>, as it is suitable in most cases.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the primary identifying principals of the AuthorizationInfo that should be retrieved.
<DT><B>Returns:</B><DD>the AuthorizationInfo associated with this principals.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><CODE>SimpleAuthorizationInfo</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.455"><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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">isPermitted</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<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>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)"><CODE>Authorizer.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>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.460"><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="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">isPermitted</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</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>
public boolean[] <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.477"><B>isPermitted</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectIdentifier,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermitted</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectIdentifier</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.</DL>
</DD>
</DL>
<HR>
<A NAME="isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
public boolean[] <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.485"><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/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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)">Authorizer</A></CODE></B></DD>
<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>Authorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)</CODE></A> invocations over the wire in client/server systems.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)">isPermitted</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</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="isPermitted(java.util.List, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
isPermitted</H3>
<PRE>
protected boolean[] <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.490"><B>isPermitted</B></A>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
isPermittedAll</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.505"><B>isPermittedAll</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectIdentifier,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermittedAll</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectIdentifier</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>See Also:</B><DD><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><CODE>Authorizer.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>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.516"><B>isPermittedAll</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">isPermittedAll</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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="isPermittedAll(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
isPermittedAll</H3>
<PRE>
protected boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.521"><B>isPermittedAll</B></A>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
checkPermission</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.532"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectIdentifier,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkPermission</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectIdentifier</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.</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)"><!-- --></A><H3>
checkPermission</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.537"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">checkPermission</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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="checkPermission(org.apache.shiro.authz.Permission, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
checkPermission</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.542"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</A>&nbsp;permission,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)"><!-- --></A><H3>
checkPermissions</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.549"><B>checkPermissions</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;subjectIdentifier,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkPermissions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectIdentifier</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.</DL>
</DD>
</DL>
<HR>
<A NAME="checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
checkPermissions</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.557"><B>checkPermissions</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkPermissions</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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="checkPermissions(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
checkPermissions</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.562"><B>checkPermissions</B></A>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)"><!-- --></A><H3>
hasRole</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.570"><B>hasRole</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">Authorizer</A></CODE></B></DD>
<DD>Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">hasRole</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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="hasRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
hasRole</H3>
<PRE>
protected boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.575"><B>hasRole</B></A>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)"><!-- --></A><H3>
hasRoles</H3>
<PRE>
public boolean[] <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.579"><B>hasRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)">Authorizer</A></CODE></B></DD>
<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>Authorizer.hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)</CODE></A> invocations over the wire in client/server systems.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)">hasRoles</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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="hasRoles(java.util.List, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
hasRoles</H3>
<PRE>
protected boolean[] <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.588"><B>hasRoles</B></A>(<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,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
hasAllRoles</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.603"><B>hasAllRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">hasAllRoles</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</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>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.619"><B>checkRole</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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;role)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkRole</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</CODE> - the application-specific subject/user identifier.<DD><CODE>role</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="checkRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
checkRole</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.624"><B>checkRole</B></A>(<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;role,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)"><!-- --></A><H3>
checkRoles</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.631"><B>checkRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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;roles)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkRoles</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</CODE> - the application-specific subject/user identifier.<DD><CODE>roles</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>
public void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.636"><B>checkRoles</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principal,
<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;roles)
throws <A HREF="../../../../org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">Authorizer</A></CODE></B></DD>
<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>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkRoles</A></CODE> in interface <CODE><A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principal</CODE> - the application-specific subject/user identifier.<DD><CODE>roles</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(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)"><!-- --></A><H3>
checkRoles</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.640"><B>checkRoles</B></A>(<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;roles,
<A HREF="../../../../org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</A>&nbsp;info)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="doClearCache(org.apache.shiro.subject.PrincipalCollection)"><!-- --></A><H3>
doClearCache</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.659"><B>doClearCache</B></A>(<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A>&nbsp;principals)</PRE>
<DL>
<DD>Calls <code>super.doClearCache</code> to ensure any cached authentication data is removed and then calls
<A HREF="../../../../org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><CODE>clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</CODE></A> to remove any cached
authorization data.
<p/>
If overriding in a subclass, be sure to call <code>super.doClearCache</code> to ensure this behavior is maintained.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</A></CODE> in class <CODE><A HREF="../../../../org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the principals of the account for which to clear any cached AuthorizationInfo<DT><B>Since:</B></DT>
<DD>1.2</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/AuthorizingRealm.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/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/realm/AuthorizingRealm.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AuthorizingRealm.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;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&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>