<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AuthorizingRealm (Apache Shiro 1.10.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="AuthorizingRealm (Apache Shiro 1.10.1 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":6,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><!-- Matomo --> <script>   var _paq = window._paq = window._paq || [];   /* tracker methods like "setCustomDimension" should be called before "trackPageView" */   /* We explicitly disable cookie tracking to avoid privacy issues */   _paq.push(['disableCookies']);   _paq.push(['trackPageView']);   _paq.push(['enableLinkTracking']);   (function() {     var u="//matomo.privacy.apache.org/";     _paq.push(['setTrackerUrl', u+'matomo.php']);     _paq.push(['setSiteId', '2']);     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];     g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);   })(); </script> <!-- End Matomo Code -->
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthorizingRealm.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.shiro.realm</a></div>
<h2 title="Class AuthorizingRealm" class="title">Class AuthorizingRealm</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="CachingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.CachingRealm</a></li>
<li>
<ul class="inheritance">
<li><a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">org.apache.shiro.realm.AuthenticatingRealm</a></li>
<li>
<ul class="inheritance">
<li>org.apache.shiro.realm.AuthorizingRealm</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../authc/LogoutAware.html" title="interface in org.apache.shiro.authc">LogoutAware</a></code>, <code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code>, <code><a href="../authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</a></code>, <code><a href="../authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</a></code>, <code><a href="../cache/CacheManagerAware.html" title="interface in org.apache.shiro.cache">CacheManagerAware</a></code>, <code><a href="Realm.html" title="interface in org.apache.shiro.realm">Realm</a></code>, <code><a href="../util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</a></code>, <code><a href="../util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></code>, <code><a href="../cas/CasRealm.html" title="class in org.apache.shiro.cas">CasRealm</a></code>, <code><a href="ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></code>, <code><a href="jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></code>, <code><a href="SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></code></dd>
</dl>
<hr>
<pre>public abstract class <a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.56">AuthorizingRealm</a>
extends <a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a>
implements <a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a>, <a href="../util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</a>, <a href="../authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</a>, <a href="../authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</a></pre>
<div class="block">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="#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a> method returns an
 <a href="../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="../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="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="../authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><code>SimpleAuthorizationInfo</code></a>) is sufficient in the large
 majority of Realm cases.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><code>SimpleAuthorizationInfo</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AuthorizingRealm</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm</a></span>&#8203;(<a href="../authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</a>&nbsp;matcher)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.shiro.cache.CacheManager)">AuthorizingRealm</a></span>&#8203;(<a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</a>&nbsp;cacheManager)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm</a></span>&#8203;(<a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</a>&nbsp;cacheManager,
                <a href="../authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</a>&nbsp;matcher)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterCacheManagerSet()">afterCacheManagerSet</a></span>()</code></th>
<td class="colLast">
<div class="block">This implementation attempts to acquire an authentication cache if one is not already configured.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">checkPermission</a></span>&#8203;(<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission,
               <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;permission)</code></th>
<td class="colLast">
<div class="block">Ensures the corresponding Subject/user implies the specified permission String.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
               <a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission)</code></th>
<td class="colLast">
<div class="block">Ensures a subject/user <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>Permission.implies(Permission)</code></a> implies} the specified <tt>Permission</tt>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermissions(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkPermissions</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
                <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Ensures the corresponding Subject/user
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Ensures the corresponding Subject/user
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">checkRole</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;role,
         <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;role)</code></th>
<td class="colLast">
<div class="block">Asserts the corresponding Subject/user has the specified role by returning quietly if they do or throwing an
 <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkRoles</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roles,
          <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;roles)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../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.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roles)</code></th>
<td class="colLast">
<div class="block">Asserts the corresponding Subject/user has all of the specified roles by returning quietly if they do or
 throwing an <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthorizationInfo</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Clears out the AuthorizationInfo cache entry for the specified account.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Calls <code>super.doClearCache</code> to ensure any cached authentication data is removed and then calls
 <a href="#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a> to remove any cached
 authorization data.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Retrieves the AuthorizationInfo for the given principals from the underlying data store.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>,&#8203;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthorizationCache()">getAuthorizationCache</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationCacheKey</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthorizationCacheName()">getAuthorizationCacheName</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationInfo</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Returns an account's authorization-specific information for the specified <code>principals</code>,
 or <code>null</code> if no account could be found.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="../authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPermissionResolver()">getPermissionResolver</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPermissions(org.apache.shiro.authz.AuthorizationInfo)">getPermissions</a></span>&#8203;(<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRolePermissionResolver()">getRolePermissionResolver</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers)</code></th>
<td class="colLast">
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has all of the specified roles, <tt>false</tt> otherwise.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">hasRole</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;roleIdentifier,
       <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;roleIdentifier)</code></th>
<td class="colLast">
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected boolean[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasRoles(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">hasRoles</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers,
        <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers)</code></th>
<td class="colLast">
<div class="block">Checks if the corresponding Subject/user has the specified roles, returning a boolean array indicating
 which roles are associated with the given subject.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAuthorizationCachingEnabled()">isAuthorizationCachingEnabled</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if authorization caching should be utilized if a <a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache"><code>CacheManager</code></a> has been
 <a href="CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected boolean[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">isPermitted</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
           <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">isPermitted</a></span>&#8203;(<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission,
           <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;permission)</code></th>
<td class="colLast">
<div class="block">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.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Checks if the corresponding Subject implies the given permission strings and returns a boolean array
 indicating which permissions are implied.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Checks if the corresponding Subject/user implies the given Permissions and returns a boolean array indicating
 which permissions are implied.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
           <a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission)</code></th>
<td class="colLast">
<div class="block">Returns <tt>true</tt> if the corresponding subject/user is permitted to perform an action or access a resource
 summarized by the specified permission.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermittedAll(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">isPermittedAll</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
              <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permission strings,
 <tt>false</tt> otherwise.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></span>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)</code></th>
<td class="colLast">
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permissions, <tt>false</tt>
 otherwise.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onInit()">onInit</a></span>()</code></th>
<td class="colLast">
<div class="block">Initializes this realm and potentially enables a cache, depending on configuration.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAuthorizationCache(org.apache.shiro.cache.Cache)">setAuthorizationCache</a></span>&#8203;(<a href="../cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>,&#8203;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&gt;&nbsp;authorizationCache)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAuthorizationCacheName(java.lang.String)">setAuthorizationCacheName</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;authorizationCacheName)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAuthorizationCachingEnabled(boolean)">setAuthorizationCachingEnabled</a></span>&#8203;(boolean&nbsp;authenticationCachingEnabled)</code></th>
<td class="colLast">
<div class="block">Sets whether or not authorization caching should be utilized if a <a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache"><code>CacheManager</code></a> has been
 <a href="CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setName(java.lang.String)">setName</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Sets the (preferably application unique) name for this component.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver</a></span>&#8203;(<a href="../authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</a>&nbsp;permissionResolver)</code></th>
<td class="colLast">
<div class="block">Sets the specified <tt>PermissionResolver</tt> on this instance.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver</a></span>&#8203;(<a href="../authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</a>&nbsp;permissionRoleResolver)</code></th>
<td class="colLast">
<div class="block">Sets the specified <tt>RolePermissionResolver</tt> on this instance.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.AuthenticatingRealm">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></h3>
<code><a href="AuthenticatingRealm.html#assertCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">assertCredentialsMatch</a>, <a href="AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthenticationInfo</a>, <a href="AuthenticatingRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo</a>, <a href="AuthenticatingRealm.html#getAuthenticationCache()">getAuthenticationCache</a>, <a href="AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationCacheKey</a>, <a href="AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthenticationCacheKey</a>, <a href="AuthenticatingRealm.html#getAuthenticationCacheName()">getAuthenticationCacheName</a>, <a href="AuthenticatingRealm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo</a>, <a href="AuthenticatingRealm.html#getAuthenticationTokenClass()">getAuthenticationTokenClass</a>, <a href="AuthenticatingRealm.html#getCredentialsMatcher()">getCredentialsMatcher</a>, <a href="AuthenticatingRealm.html#init()">init</a>, <a href="AuthenticatingRealm.html#isAuthenticationCachingEnabled()">isAuthenticationCachingEnabled</a>, <a href="AuthenticatingRealm.html#isAuthenticationCachingEnabled(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">isAuthenticationCachingEnabled</a>, <a href="AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)">setAuthenticationCache</a>, <a href="AuthenticatingRealm.html#setAuthenticationCacheName(java.lang.String)">setAuthenticationCacheName</a>, <a href="AuthenticatingRealm.html#setAuthenticationCachingEnabled(boolean)">setAuthenticationCachingEnabled</a>, <a href="AuthenticatingRealm.html#setAuthenticationTokenClass(java.lang.Class)">setAuthenticationTokenClass</a>, <a href="AuthenticatingRealm.html#setCredentialsMatcher(org.apache.shiro.authc.credential.CredentialsMatcher)">setCredentialsMatcher</a>, <a href="AuthenticatingRealm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.realm.CachingRealm">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.realm.<a href="CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></h3>
<code><a href="CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)">clearCache</a>, <a href="CachingRealm.html#getAvailablePrincipal(org.apache.shiro.subject.PrincipalCollection)">getAvailablePrincipal</a>, <a href="CachingRealm.html#getCacheManager()">getCacheManager</a>, <a href="CachingRealm.html#getName()">getName</a>, <a href="CachingRealm.html#isCachingEnabled()">isCachingEnabled</a>, <a href="CachingRealm.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a>, <a href="CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager</a>, <a href="CachingRealm.html#setCachingEnabled(boolean)">setCachingEnabled</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.util.Initializable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.util.<a href="../util/Initializable.html" title="interface in org.apache.shiro.util">Initializable</a></h3>
<code><a href="../util/Initializable.html#init()">init</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AuthorizingRealm</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.91">AuthorizingRealm</a>()</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.shiro.cache.CacheManager)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AuthorizingRealm</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.95">AuthorizingRealm</a>&#8203;(<a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</a>&nbsp;cacheManager)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.shiro.authc.credential.CredentialsMatcher)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AuthorizingRealm</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.99">AuthorizingRealm</a>&#8203;(<a href="../authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</a>&nbsp;matcher)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AuthorizingRealm</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.103">AuthorizingRealm</a>&#8203;(<a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache">CacheManager</a>&nbsp;cacheManager,
                        <a href="../authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</a>&nbsp;matcher)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="setName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.122">setName</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../util/Nameable.html#setName(java.lang.String)">Nameable</a></code></span></div>
<div class="block">Sets the (preferably application unique) name for this component.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Nameable.html#setName(java.lang.String)">setName</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AuthenticatingRealm.html#setName(java.lang.String)">setName</a></code>&nbsp;in class&nbsp;<code><a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the preferably application unique name for this component.</dd>
</dl>
</li>
</ul>
<a id="setAuthorizationCache(org.apache.shiro.cache.Cache)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthorizationCache</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.132">setAuthorizationCache</a>&#8203;(<a href="../cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>,&#8203;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&gt;&nbsp;authorizationCache)</pre>
</li>
</ul>
<a id="getAuthorizationCache()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthorizationCache</h4>
<pre class="methodSignature">public&nbsp;<a href="../cache/Cache.html" title="interface in org.apache.shiro.cache">Cache</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>,&#8203;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.136">getAuthorizationCache</a>()</pre>
</li>
</ul>
<a id="getAuthorizationCacheName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthorizationCacheName</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.140">getAuthorizationCacheName</a>()</pre>
</li>
</ul>
<a id="setAuthorizationCacheName(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthorizationCacheName</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.144">setAuthorizationCacheName</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;authorizationCacheName)</pre>
</li>
</ul>
<a id="isAuthorizationCachingEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAuthorizationCachingEnabled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.157">isAuthorizationCachingEnabled</a>()</pre>
<div class="block">Returns <code>true</code> if authorization caching should be utilized if a <a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache"><code>CacheManager</code></a> has been
 <a href="CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.
 <p/>
 The default value is <code>true</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if authorization caching should be utilized, <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a id="setAuthorizationCachingEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthorizationCachingEnabled</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.169">setAuthorizationCachingEnabled</a>&#8203;(boolean&nbsp;authenticationCachingEnabled)</pre>
<div class="block">Sets whether or not authorization caching should be utilized if a <a href="../cache/CacheManager.html" title="interface in org.apache.shiro.cache"><code>CacheManager</code></a> has been
 <a href="CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.
 <p/>
 The default value is <code>true</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authenticationCachingEnabled</code> - the value to set</dd>
</dl>
</li>
</ul>
<a id="getPermissionResolver()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPermissionResolver</h4>
<pre class="methodSignature">public&nbsp;<a href="../authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.177">getPermissionResolver</a>()</pre>
</li>
</ul>
<a id="setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPermissionResolver</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.181">setPermissionResolver</a>&#8203;(<a href="../authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</a>&nbsp;permissionResolver)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/permission/PermissionResolverAware.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">PermissionResolverAware</a></code></span></div>
<div class="block">Sets the specified <tt>PermissionResolver</tt> on this instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/permission/PermissionResolverAware.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>permissionResolver</code> - the <tt>PermissionResolver</tt> being set.</dd>
</dl>
</li>
</ul>
<a id="getRolePermissionResolver()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRolePermissionResolver</h4>
<pre class="methodSignature">public&nbsp;<a href="../authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.186">getRolePermissionResolver</a>()</pre>
</li>
</ul>
<a id="setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRolePermissionResolver</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.190">setRolePermissionResolver</a>&#8203;(<a href="../authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</a>&nbsp;permissionRoleResolver)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/permission/RolePermissionResolverAware.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">RolePermissionResolverAware</a></code></span></div>
<div class="block">Sets the specified <tt>RolePermissionResolver</tt> on this instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/permission/RolePermissionResolverAware.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>permissionRoleResolver</code> - the <tt>RolePermissionResolver</tt> being set.</dd>
</dl>
</li>
</ul>
<a id="onInit()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onInit</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.218">onInit</a>()</pre>
<div class="block">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="#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="#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="#setAuthorizationCache(org.apache.shiro.cache.Cache)"><code>cache</code></a> property has <b>not</b> been set,
 the <a href="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="#setAuthorizationCache(org.apache.shiro.cache.Cache)"><code>(org.apache.shiro.cache.Cache) cache</code></a>
 or <a href="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></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AuthenticatingRealm.html#onInit()">onInit</a></code>&nbsp;in class&nbsp;<code><a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></code></dd>
</dl>
</li>
</ul>
<a id="afterCacheManagerSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterCacheManagerSet</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.224">afterCacheManagerSet</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="AuthenticatingRealm.html#afterCacheManagerSet()">AuthenticatingRealm</a></code></span></div>
<div class="block">This implementation attempts to acquire an authentication cache if one is not already configured.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AuthenticatingRealm.html#afterCacheManagerSet()">afterCacheManagerSet</a></code>&nbsp;in class&nbsp;<code><a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></code></dd>
</dl>
</li>
</ul>
<a id="getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthorizationInfo</h4>
<pre class="methodSignature">protected&nbsp;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.311">getAuthorizationInfo</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</pre>
<div class="block">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="#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="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="#setAuthorizationCache(org.apache.shiro.cache.Cache)"><code>authorizationCache</code></a>
 instance has been explicitly configured, or if a <a href="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="#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="#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.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the corresponding Subject's identifying principals with which to look up the Subject's
                   <code>AuthorizationInfo</code>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the authorization information for the account associated with the specified <code>principals</code>,
         or <code>null</code> if no account could be found.</dd>
</dl>
</li>
</ul>
<a id="getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthorizationCacheKey</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.356">getAuthorizationCacheKey</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</pre>
</li>
</ul>
<a id="clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearCachedAuthorizationInfo</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.378">clearCachedAuthorizationInfo</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</pre>
<div class="block">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="#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="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).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the principals of the account for which to clear the cached AuthorizationInfo.</dd>
</dl>
</li>
</ul>
<a id="doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doGetAuthorizationInfo</h4>
<pre class="methodSignature">protected abstract&nbsp;<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.400">doGetAuthorizationInfo</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</pre>
<div class="block">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="../authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><code>SimpleAuthorizationInfo</code></a>, as it is suitable in most cases.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the primary identifying principals of the AuthorizationInfo that should be retrieved.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the AuthorizationInfo associated with this principals.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><code>SimpleAuthorizationInfo</code></a></dd>
</dl>
</li>
</ul>
<a id="getPermissions(org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPermissions</h4>
<pre class="methodSignature">protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.403">getPermissions</a>&#8203;(<a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.459">isPermitted</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;permission)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">Authorizer</a></code></span></div>
<div class="block">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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the application-specific subject/user identifier.</dd>
<dd><code>permission</code> - the String representation of a Permission that is being checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the corresponding Subject/user is permitted, false otherwise.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)"><code>Authorizer.isPermitted(PrincipalCollection principals,Permission permission)</code></a></dd>
</dl>
</li>
</ul>
<a id="isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.464">isPermitted</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
                           <a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">Authorizer</a></code></span></div>
<div class="block">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="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>imply</code></a> the specified permission.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the application-specific subject/user identifier.</dd>
<dd><code>permission</code> - the permission that is being checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the corresponding Subject/user is permitted, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.470">isPermitted</a>&#8203;(<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission,
                              <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">public&nbsp;boolean[]&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.482">isPermitted</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">Authorizer</a></code></span></div>
<div class="block">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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subjectIdentifier</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the String representations of the Permissions that are being checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<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.</dd>
</dl>
</li>
</ul>
<a id="isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">public&nbsp;boolean[]&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.490">isPermitted</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">Authorizer</a></code></span></div>
<div class="block">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="../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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the permissions that are being checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<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.</dd>
</dl>
</li>
</ul>
<a id="isPermitted(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermitted</h4>
<pre class="methodSignature">protected&nbsp;boolean[]&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.495">isPermitted</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
                                <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermittedAll</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.510">isPermittedAll</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">Authorizer</a></code></span></div>
<div class="block">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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subjectIdentifier</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the String representations of the Permissions that are being checked.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the user has all of the specified permissions, false otherwise.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)"><code>Authorizer.isPermittedAll(PrincipalCollection,Collection)</code></a></dd>
</dl>
</li>
</ul>
<a id="isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermittedAll</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.521">isPermittedAll</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">Authorizer</a></code></span></div>
<div class="block">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="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implied by</code></a> permissions already associated with the subject.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the permissions to check.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the user has all of the specified permissions, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="isPermittedAll(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPermittedAll</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.526">isPermittedAll</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
                                 <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermission</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.537">checkPermission</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;permission)
                     throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">Authorizer</a></code></span></div>
<div class="block">Ensures the corresponding Subject/user implies the specified permission String.

 <p>If the subject's existing associated permissions do not <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>Permission.implies(Permission)</code></a> imply}
 the given permission, an <a href="../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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subjectIdentifier</code> - the application-specific subject/user identifier.</dd>
<dd><code>permission</code> - the String representation of the Permission to check.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have the permission.</dd>
</dl>
</li>
</ul>
<a id="checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermission</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.542">checkPermission</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                            <a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission)
                     throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">Authorizer</a></code></span></div>
<div class="block">Ensures a subject/user <a href="../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 existing associated permissions do not <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>Permission.implies(Permission)</code></a> imply}
 the given permission, an <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> will be thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>permission</code> - the Permission to check.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have the permission.</dd>
</dl>
</li>
</ul>
<a id="checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermission</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.547">checkPermission</a>&#8203;(<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&nbsp;permission,
                               <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermissions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.554">checkPermissions</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectIdentifier,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;permissions)
                      throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">Authorizer</a></code></span></div>
<div class="block">Ensures the corresponding Subject/user
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.

 If the subject's existing associated permissions do not
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>imply</code></a> all of the given permissions,
 an <a href="../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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subjectIdentifier</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the string representations of Permissions to check.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have all of the given permissions.</dd>
</dl>
</li>
</ul>
<a id="checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermissions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.562">checkPermissions</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions)
                      throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">Authorizer</a></code></span></div>
<div class="block">Ensures the corresponding Subject/user
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.

 If the subject's existing associated permissions do not
 <a href="../authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>imply</code></a> all of the given permissions,
 an <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> will be thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>permissions</code> - the Permissions to check.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have all of the given permissions.</dd>
</dl>
</li>
</ul>
<a id="checkPermissions(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPermissions</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.567">checkPermissions</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a>&gt;&nbsp;permissions,
                                <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRole</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.575">hasRole</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;roleIdentifier)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">Authorizer</a></code></span></div>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>roleIdentifier</code> - the application-specific role identifier (usually a role id or role name).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if the corresponding subject has the specified role, <tt>false</tt> otherwise.</dd>
</dl>
</li>
</ul>
<a id="hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRole</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.580">hasRole</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;roleIdentifier,
                          <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRoles</h4>
<pre class="methodSignature">public&nbsp;boolean[]&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.584">hasRoles</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                          <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">Authorizer</a></code></span></div>
<div class="block">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="../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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>roleIdentifiers</code> - the application-specific role identifiers to check (usually role ids or role names).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<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.</dd>
</dl>
</li>
</ul>
<a id="hasRoles(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasRoles</h4>
<pre class="methodSignature">protected&nbsp;boolean[]&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.593">hasRoles</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers,
                             <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasAllRoles</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.608">hasAllRoles</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roleIdentifiers)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">Authorizer</a></code></span></div>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has all of the specified roles, <tt>false</tt> otherwise.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>roleIdentifiers</code> - the application-specific role identifiers to check (usually role ids or role names).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the user has all the roles, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRole</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.624">checkRole</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                      <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;role)
               throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">Authorizer</a></code></span></div>
<div class="block">Asserts the corresponding Subject/user has the specified role by returning quietly if they do or throwing an
 <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>role</code> - the application-specific role identifier (usually a role id or role name ).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have the role.</dd>
</dl>
</li>
</ul>
<a id="checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRole</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.629">checkRole</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;role,
                         <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRoles</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.636">checkRoles</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roles)
                throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">Authorizer</a></code></span></div>
<div class="block">Asserts the corresponding Subject/user has all of the specified roles by returning quietly if they do or
 throwing an <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>roles</code> - the application-specific role identifiers to check (usually role ids or role names).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have all of the specified roles.</dd>
</dl>
</li>
</ul>
<a id="checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRoles</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.641">checkRoles</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
                       <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;roles)
                throws <a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">Authorizer</a></code></span></div>
<div class="block">Same as <a href="../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="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></code>&nbsp;in interface&nbsp;<code><a href="../authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principal</code> - the application-specific subject/user identifier.</dd>
<dd><code>roles</code> - the application-specific role identifiers to check (usually role ids or role names).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></code> - if the user does not have all of the specified roles.</dd>
</dl>
</li>
</ul>
<a id="checkRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkRoles</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.645">checkRoles</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&nbsp;roles,
                          <a href="../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a>&nbsp;info)</pre>
</li>
</ul>
<a id="doClearCache(org.apache.shiro.subject.PrincipalCollection)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>doClearCache</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/realm/AuthorizingRealm.html#line.663">doClearCache</a>&#8203;(<a href="../subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</pre>
<div class="block">Calls <code>super.doClearCache</code> to ensure any cached authentication data is removed and then calls
 <a href="#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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AuthenticatingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a></code>&nbsp;in class&nbsp;<code><a href="AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>principals</code> - the principals of the account for which to clear any cached AuthorizationInfo</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthorizingRealm.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
