blob: 461be2cc093fa68e931213cfd7ef7461b90f2439 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Interface org.apache.shiro.subject.PrincipalCollection (Apache Shiro :: Core 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="Uses of Interface org.apache.shiro.subject.PrincipalCollection (Apache Shiro :: Core 1.10.1 API)";
}
}
catch(err) {
}
//-->
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><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>
<main role="main">
<div class="header">
<h2 title="Uses of Interface org.apache.shiro.subject.PrincipalCollection" class="title">Uses of Interface<br>org.apache.shiro.subject.PrincipalCollection</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.authc">org.apache.shiro.authc</a></th>
<td class="colLast">
<div class="block">Core interfaces and exceptions concerning Authentication (the act of logging-in).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.authc.pam">org.apache.shiro.authc.pam</a></th>
<td class="colLast">
<div class="block">Support for <em>PAM</em>, or <b>P</b>luggable <b>A</b>uthentication <b>M</b>odules, which is
the capability to authenticate a user against multiple configurable (pluggable) <em>modules</em> (Shiro
calls these <a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s).</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.authz">org.apache.shiro.authz</a></th>
<td class="colLast">
<div class="block">Core interfaces and exceptions supporting Authorization (access control).</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.mgt">org.apache.shiro.mgt</a></th>
<td class="colLast">
<div class="block">Provides the master <a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> interface and a default implementation
hierarchy for managing all aspects of Shiro's functionality in an application.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.realm">org.apache.shiro.realm</a></th>
<td class="colLast">
<div class="block">Components and sub-packages used in supporting the core <a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> interface.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.realm.activedirectory">org.apache.shiro.realm.activedirectory</a></th>
<td class="colLast">
<div class="block">Realms that acquire security data from a Microsoft Active Directory.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.realm.jdbc">org.apache.shiro.realm.jdbc</a></th>
<td class="colLast">
<div class="block">Realms that acquire security data from an RDBMS (Relational Database Management System) using the
JDBC API.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.realm.ldap">org.apache.shiro.realm.ldap</a></th>
<td class="colLast">
<div class="block">Realms that acquire security data from an LDAP (Lightweight Directory Access Protocol) server
utilizing LDAP/Naming APIs.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.subject">org.apache.shiro.subject</a></th>
<td class="colLast">
<div class="block">Components supporting the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> interface, the most important concept in
Shiro's API.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.subject.support">org.apache.shiro.subject.support</a></th>
<td class="colLast">
<div class="block">Concrete support implementations of most of the <code>org.apache.shiro.subject</code> interfaces.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.util">org.apache.shiro.util</a></th>
<td class="colLast">
<div class="block">Your run-of-the-mill 'util' package for components and logic widely used across the framework that can't
find their home into a proper OO hierarchy (or, most likely for things used across many hierarchies).</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section><a id="org.apache.shiro.authc">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../authc/package-summary.html">org.apache.shiro.authc</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../../authc/package-summary.html">org.apache.shiro.authc</a> declared as <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimpleAuthenticationInfo.</span><code><span class="memberNameLink"><a href="../../authc/SimpleAuthenticationInfo.html#principals">principals</a></span></code></th>
<td class="colLast">
<div class="block">The principals identifying the account associated with this AuthenticationInfo instance.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../authc/package-summary.html">org.apache.shiro.authc</a> that return <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthenticationInfo.</span><code><span class="memberNameLink"><a href="../../authc/AuthenticationInfo.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns all principals associated with the corresponding Subject.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimpleAccount.</span><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the principals, aka the identifying attributes (username, user id, first name, last name, etc) of this
Account.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimpleAuthenticationInfo.</span><code><span class="memberNameLink"><a href="../../authc/SimpleAuthenticationInfo.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../authc/package-summary.html">org.apache.shiro.authc</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractAuthenticator.</span><code><span class="memberNameLink"><a href="../../authc/AbstractAuthenticator.html#notifyLogout(org.apache.shiro.subject.PrincipalCollection)">notifyLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Notifies any registered <a href="../../authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that a
<code>Subject</code> has logged-out.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractAuthenticator.</span><code><span class="memberNameLink"><a href="../../authc/AbstractAuthenticator.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">This implementation merely calls
<a href="../../authc/AbstractAuthenticator.html#notifyLogout(org.apache.shiro.subject.PrincipalCollection)"><code>notifyLogout</code></a> to allow any registered listeners
to react to the logout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthenticationListener.</span><code><span class="memberNameLink"><a href="../../authc/AuthenticationListener.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Callback triggered when a <code>Subject</code> logs-out of the system.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">LogoutAware.</span><code><span class="memberNameLink"><a href="../../authc/LogoutAware.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Callback triggered when a <code>Subject</code> logs out of the system.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimpleAccount.</span><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Sets the principals, aka the identifying attributes (username, user id, first name, last name, etc) of this
Account.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimpleAuthenticationInfo.</span><code><span class="memberNameLink"><a href="../../authc/SimpleAuthenticationInfo.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Sets the identifying principal(s) represented by this instance.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../../authc/package-summary.html">org.apache.shiro.authc</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object)">SimpleAccount</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;credentials)</code></th>
<td class="colLast">
<div class="block">Constructs a SimpleAccount instance for the specified principals and credentials.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,java.util.Set)">SimpleAccount</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;credentials,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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">Constructs a SimpleAccount instance for the specified principals and credentials, with the assigned roles.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,java.util.Set,java.util.Set)">SimpleAccount</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;credentials,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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;roleNames,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</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">Constructs a SimpleAccount instance from the given principals and credentials, with the
the assigned roles and permissions.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,org.apache.shiro.util.ByteSource)">SimpleAccount</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;hashedCredentials,
org.apache.shiro.util.ByteSource&nbsp;credentialsSalt)</code></th>
<td class="colLast">
<div class="block">Constructs a SimpleAccount instance for the specified principals and credentials.</div>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAuthenticationInfo.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object)">SimpleAuthenticationInfo</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;credentials)</code></th>
<td class="colLast">
<div class="block">Constructor that takes in an account's identifying principal(s) and its corresponding credentials that verify
the principals.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../authc/SimpleAuthenticationInfo.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,org.apache.shiro.util.ByteSource)">SimpleAuthenticationInfo</a></span>&#8203;(<a href="../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/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;hashedCredentials,
org.apache.shiro.util.ByteSource&nbsp;credentialsSalt)</code></th>
<td class="colLast">
<div class="block">Constructor that takes in an account's identifying principal(s), hashed credentials used to verify the
principals, and the salt used when hashing the credentials.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.authc.pam">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../authc/pam/package-summary.html">org.apache.shiro.authc.pam</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthenticator.</span><code><span class="memberNameLink"><a href="../../authc/pam/ModularRealmAuthenticator.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">First calls <code>super.onLogout(principals)</code> to ensure a logout notification is issued, and for each
wrapped <code>Realm</code> that implements the <a href="../../authc/LogoutAware.html" title="interface in org.apache.shiro.authc"><code>LogoutAware</code></a> interface, calls
<code>((LogoutAware)realm).onLogout(principals)</code> to allow each realm the opportunity to perform
logout/cleanup operations during an user-logout.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.authz">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../authz/package-summary.html">org.apache.shiro.authz</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../authz/package-summary.html">org.apache.shiro.authz</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></span>&#8203;(<a href="../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">If !<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>isPermitted(permission)</code></a>, throws
an <code>UnauthorizedException</code> otherwise returns quietly.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></span>&#8203;(<a href="../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">If !<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)"><code>isPermitted(permission)</code></a>, throws
an <code>UnauthorizedException</code> otherwise returns quietly.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">
<div class="block">If !<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)"><code>isPermitted(permission)</code></a>,
throws an <code>UnauthorizedException</code> otherwise returns quietly.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></span>&#8203;(<a href="../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/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">If !<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)"><code>isPermitted(permission)</code></a> for
<em>all</em> the given Permissions, throws
an <code>UnauthorizedException</code> otherwise returns quietly.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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">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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></span>&#8203;(<a href="../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;role)</code></th>
<td class="colLast">
<div class="block">If !<a href="../../authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>hasRole(role)</code></a>, throws
an <code>UnauthorizedException</code> otherwise returns quietly.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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;roleIdentifiers)</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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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">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 class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></span>&#8203;(<a href="../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;roles)</code></th>
<td class="colLast">
<div class="block">Calls <a href="../../authz/ModularRealmAuthorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>checkRole</code></a> for each role specified.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></span>&#8203;(<a href="../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/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">Calls <a href="../../authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)"><code>checkRoles(PrincipalCollection principals, String... roles) </code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></span>&#8203;(<a href="../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/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 <code>true</code> iff any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>ModularRealmAuthorizer.hasRole(org.apache.shiro.subject.PrincipalCollection, String)</code></a> call returns <code>true</code> for
<em>all</em> roles specified, <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></span>&#8203;(<a href="../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;roleIdentifier)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>ModularRealmAuthorizer.hasRole(org.apache.shiro.subject.PrincipalCollection, String)</code></a> call returns <code>true</code>,
<code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></span>&#8203;(<a href="../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="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">Calls <a href="../../authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>ModularRealmAuthorizer.hasRole(org.apache.shiro.subject.PrincipalCollection, String)</code></a> for each role name in the specified
collection and places the return value from each call at the respective location in the returned array.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></span>&#8203;(<a href="../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 class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></span>&#8203;(<a href="../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 <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>ModularRealmAuthorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, String)</code></a> returns <code>true</code>,
<code>false</code> otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)"><code>ModularRealmAuthorizer.isPermittedAll(org.apache.shiro.subject.PrincipalCollection, String...)</code></a> call returns
<code>true</code>, <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></span>&#8203;(<a href="../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">Returns <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)"><code>ModularRealmAuthorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, List)</code></a> call returns <code>true</code>,
<code>false</code> otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></span>&#8203;(<a href="../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 <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)"><code>ModularRealmAuthorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, Permission)</code></a> call returns <code>true</code>,
<code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Authorizer.</span><code><span class="memberNameLink"><a href="../../authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;subjectPrincipal,
<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 class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>ModularRealmAuthorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, String)</code></a> call returns <code>true</code>
for <em>all</em> of the specified string permissions, <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ModularRealmAuthorizer.</span><code><span class="memberNameLink"><a href="../../authz/ModularRealmAuthorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></span>&#8203;(<a href="../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/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 <code>true</code> if any of the configured realms'
<a href="../../authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)"><code>ModularRealmAuthorizer.isPermitted(org.apache.shiro.subject.PrincipalCollection, Permission)</code></a> call returns <code>true</code>
for <em>all</em> of the specified Permissions, <code>false</code> otherwise.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.mgt">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> that return <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#convertBytesToPrincipals(byte%5B%5D,org.apache.shiro.subject.SubjectContext)">convertBytesToPrincipals</a></span>&#8203;(byte[]&nbsp;bytes,
<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;subjectContext)</code></th>
<td class="colLast">
<div class="block">If a <a href="../../mgt/AbstractRememberMeManager.html#getCipherService()"><code>cipherService</code></a> is available, it will be used to first decrypt the byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#deserialize(byte%5B%5D)">deserialize</a></span>&#8203;(byte[]&nbsp;serializedIdentity)</code></th>
<td class="colLast">
<div class="block">De-serializes the given byte array by using the <a href="../../mgt/AbstractRememberMeManager.html#getSerializer()"><code>serializer</code></a>'s
<code>deserialize</code> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)">getIdentityToRemember</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info)</code></th>
<td class="colLast">
<div class="block">Returns <code>info</code>.<a href="../../authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a> and
ignores the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> argument.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#getRememberedIdentity(org.apache.shiro.subject.SubjectContext)">getRememberedIdentity</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;subjectContext)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;subjectContext)</code></th>
<td class="colLast">
<div class="block">Implements the interface method by first <a href="../../mgt/AbstractRememberMeManager.html#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>acquiring</code></a>
the remembered serialized byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/RememberMeManager.html#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;subjectContext)</code></th>
<td class="colLast">
<div class="block">Based on the specified subject context map being used to build a Subject instance, returns any previously
remembered principals for the subject for automatic identity association (aka 'Remember Me').</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#onRememberedPrincipalFailure(java.lang.RuntimeException,org.apache.shiro.subject.SubjectContext)">onRememberedPrincipalFailure</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang" class="externalLink">RuntimeException</a>&nbsp;e,
<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Called when an exception is thrown while trying to retrieve principals.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> that return types with arguments of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>org.apache.shiro.io.Serializer&lt;<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&gt;</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#getSerializer()">getSerializer</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <code>Serializer</code> used to serialize and deserialize <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for
persistent remember me storage.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></span>&#8203;(<a href="../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/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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></span>&#8203;(<a href="../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;role)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></span>&#8203;(<a href="../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;roles)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></span>&#8203;(<a href="../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/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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected byte[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)">convertPrincipalsToBytes</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Converts the given principal collection the byte array that will be persisted to be 'remembered' later.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></span>&#8203;(<a href="../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/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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></span>&#8203;(<a href="../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;roleIdentifier)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></span>&#8203;(<a href="../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="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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></span>&#8203;(<a href="../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;permissionString)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></span>&#8203;(<a href="../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;permissions)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></span>&#8203;(<a href="../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/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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectFactory.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectFactory.html#newSubjectInstance(org.apache.shiro.subject.PrincipalCollection,boolean,java.lang.String,org.apache.shiro.session.Session,org.apache.shiro.mgt.SecurityManager)">newSubjectInstance</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
boolean&nbsp;authenticated,
<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;host,
<a href="../../session/Session.html" title="interface in org.apache.shiro.session">Session</a>&nbsp;session,
<a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a>&nbsp;securityManager)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.2 - override <a href="../../mgt/DefaultSubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)"><code>DefaultSubjectFactory.createSubject(org.apache.shiro.subject.SubjectContext)</code></a> directly if you
need to instantiate a custom <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> class.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)">rememberIdentity</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;accountPrincipals)</code></th>
<td class="colLast">
<div class="block">Remembers the specified account principals by first
<a href="../../mgt/AbstractRememberMeManager.html#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"><code>converting</code></a> them to a byte
array and then <a href="../../mgt/AbstractRememberMeManager.html#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)"><code>remembers</code></a> that
byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected byte[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#serialize(org.apache.shiro.subject.PrincipalCollection)">serialize</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Serializes the given <code>principals</code> by serializing them to a byte array by using the
<a href="../../mgt/AbstractRememberMeManager.html#getSerializer()"><code>serializer</code></a>'s <code>serialize</code> method.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Method parameters in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> with type arguments of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#setSerializer(org.apache.shiro.io.Serializer)">setSerializer</a></span>&#8203;(org.apache.shiro.io.Serializer&lt;<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&gt;&nbsp;serializer)</code></th>
<td class="colLast">
<div class="block">Sets the <code>Serializer</code> used to serialize and deserialize <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for
persistent remember me storage.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.realm">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../realm/package-summary.html">org.apache.shiro.realm</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../realm/package-summary.html">org.apache.shiro.realm</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CachingRealm.</span><code><span class="memberNameLink"><a href="../../realm/CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)">clearCache</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Clears out any cached data associated with the specified account identity/identities.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthenticatingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthenticationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Clears out the AuthenticationInfo cache entry for the specified account.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthorizationInfo</a></span>&#8203;(<a href="../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 class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthenticatingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthenticatingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">This implementation clears out any cached authentication data by calling
<a href="../../realm/AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>AuthenticatingRealm.clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a></span>&#8203;(<a href="../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="../../realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>AuthorizingRealm.clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a> to remove any cached
authorization data.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CachingRealm.</span><code><span class="memberNameLink"><a href="../../realm/CachingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">This implementation does nothing - it is a template to be overridden by subclasses if necessary.</div>
</td>
</tr>
<tr class="rowColor">
<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"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../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 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"><span class="typeNameLabel">SimpleAccountRealm.</span><code><span class="memberNameLink"><a href="../../realm/SimpleAccountRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<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"><span class="typeNameLabel">AuthenticatingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthenticationCacheKey</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Returns the key under which <a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> instances are cached if authentication caching is enabled.</div>
</td>
</tr>
<tr 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"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationCacheKey</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<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"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationInfo</a></span>&#8203;(<a href="../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 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"><span class="typeNameLabel">CachingRealm.</span><code><span class="memberNameLink"><a href="../../realm/CachingRealm.html#getAvailablePrincipal(org.apache.shiro.subject.PrincipalCollection)">getAvailablePrincipal</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">A utility method for subclasses that returns the first available principal of interest to this particular realm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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"><span class="typeNameLabel">SimpleAccountRealm.</span><code><span class="memberNameLink"><a href="../../realm/SimpleAccountRealm.html#getUsername(org.apache.shiro.subject.PrincipalCollection)">getUsername</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean[]</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AuthorizingRealm.</span><code><span class="memberNameLink"><a href="../../realm/AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll</a></span>&#8203;(<a href="../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">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CachingRealm.</span><code><span class="memberNameLink"><a href="../../realm/CachingRealm.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">If caching is enabled, this will clear any cached data associated with the specified account identity.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.realm.activedirectory">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../realm/activedirectory/package-summary.html">org.apache.shiro.realm.activedirectory</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../realm/activedirectory/package-summary.html">org.apache.shiro.realm.activedirectory</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr 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"><span class="typeNameLabel">ActiveDirectoryRealm.</span><code><span class="memberNameLink"><a href="../../realm/activedirectory/ActiveDirectoryRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
<a href="../../realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a>&nbsp;ldapContextFactory)</code></th>
<td class="colLast">
<div class="block">Builds an <a href="../../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><code>AuthorizationInfo</code></a> object by querying the active directory LDAP context for the
groups that a user is a member of.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.realm.jdbc">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../realm/jdbc/package-summary.html">org.apache.shiro.realm.jdbc</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../realm/jdbc/package-summary.html">org.apache.shiro.realm.jdbc</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr 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"><span class="typeNameLabel">JdbcRealm.</span><code><span class="memberNameLink"><a href="../../realm/jdbc/JdbcRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">This implementation of the interface expects the principals collection to return a String username keyed off of
this realm's <a href="../../realm/CachingRealm.html#getName()"><code>name</code></a></div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.realm.ldap">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr 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"><span class="typeNameLabel">AbstractLdapRealm.</span><code><span class="memberNameLink"><a href="../../realm/ldap/AbstractLdapRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<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"><span class="typeNameLabel">DefaultLdapRealm.</span><code><span class="memberNameLink"><a href="../../realm/ldap/DefaultLdapRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr 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"><span class="typeNameLabel">AbstractLdapRealm.</span><code><span class="memberNameLink"><a href="../../realm/ldap/AbstractLdapRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principal,
<a href="../../realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a>&nbsp;ldapContextFactory)</code></th>
<td class="colLast">
<div class="block">Abstract method that should be implemented by subclasses to builds an
<a href="../../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><code>AuthorizationInfo</code></a> object by querying the LDAP context for the
specified principal.</div>
</td>
</tr>
<tr class="rowColor">
<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"><span class="typeNameLabel">DefaultLdapRealm.</span><code><span class="memberNameLink"><a href="../../realm/ldap/DefaultLdapRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
<a href="../../realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a>&nbsp;ldapContextFactory)</code></th>
<td class="colLast">
<div class="block">Method that should be implemented by subclasses to build an
<a href="../../authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><code>AuthorizationInfo</code></a> object by querying the LDAP context for the
specified principal.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.subject">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../package-summary.html">org.apache.shiro.subject</a></h3>
<table class="useSummary">
<caption><span>Subinterfaces of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../package-summary.html">org.apache.shiro.subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject">MutablePrincipalCollection</a></span></code></th>
<td class="colLast">
<div class="block">A <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> that allows modification.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></span></code></th>
<td class="colLast">
<div class="block">EXPERIMENTAL - DO NOT USE YET</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Classes in <a href="../package-summary.html">org.apache.shiro.subject</a> that implement <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></span></code></th>
<td class="colLast">
<div class="block">A simple implementation of the <a href="../MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>MutablePrincipalCollection</code></a> interface that tracks principals internally
by storing them in a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>LinkedHashMap</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></span></code></th>
<td class="colLast">
<div class="block">Default implementation of the <a href="../PrincipalMap.html" title="interface in org.apache.shiro.subject"><code>PrincipalMap</code></a> interface.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.shiro.subject</a> that return <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.</span><code><span class="memberNameLink"><a href="../Subject.html#getPreviousPrincipals()">getPreviousPrincipals</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the previous 'pre run as' identity of this <code>Subject</code> before assuming the current
<a href="../Subject.html#runAs(org.apache.shiro.subject.PrincipalCollection)"><code>runAs</code></a> identity, or <code>null</code> if this <code>Subject</code> is not operating under an assumed
identity (normal state).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.</span><code><span class="memberNameLink"><a href="../Subject.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns this Subject's principals (identifying attributes) in the form of a <code>PrincipalCollection</code> or
<code>null</code> if this Subject is anonymous because it doesn't yet have any associated account data (for example,
if they haven't logged in).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectContext.</span><code><span class="memberNameLink"><a href="../SubjectContext.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the principals (aka identity) that the constructed <code>Subject</code> should reflect.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.</span><code><span class="memberNameLink"><a href="../Subject.html#releaseRunAs()">releaseRunAs</a></span>()</code></th>
<td class="colLast">
<div class="block">Releases the current 'run as' (assumed) identity and reverts back to the previous 'pre run as'
identity that existed before <code>#runAs runAs</code> was called.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectContext.</span><code><span class="memberNameLink"><a href="../SubjectContext.html#resolvePrincipals()">resolvePrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.shiro.subject</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MutablePrincipalCollection.</span><code><span class="memberNameLink"><a href="../MutablePrincipalCollection.html#addAll(org.apache.shiro.subject.PrincipalCollection)">addAll</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Adds all of the principals from the given principal collection to this collection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SimplePrincipalCollection.</span><code><span class="memberNameLink"><a href="../SimplePrincipalCollection.html#addAll(org.apache.shiro.subject.PrincipalCollection)">addAll</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.Builder.</span><code><span class="memberNameLink"><a href="../Subject.Builder.html#principals(org.apache.shiro.subject.PrincipalCollection)">principals</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Ensures the <code>Subject</code> being built will reflect the specified principals (aka identity).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.</span><code><span class="memberNameLink"><a href="../Subject.html#runAs(org.apache.shiro.subject.PrincipalCollection)">runAs</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Allows this subject to 'run as' or 'assume' another identity indefinitely.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectContext.</span><code><span class="memberNameLink"><a href="../SubjectContext.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block">Sets the principals (aka identity) that the constructed <code>Subject</code> should reflect.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../package-summary.html">org.apache.shiro.subject</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SimplePrincipalCollection.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection)">SimplePrincipalCollection</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.subject.support">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a></h3>
<table class="useSummary">
<caption><span>Fields in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> declared as <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DelegatingSubject.</span><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#principals">principals</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> that return <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DelegatingSubject.</span><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#getPreviousPrincipals()">getPreviousPrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectContext.</span><code><span class="memberNameLink"><a href="../support/DefaultSubjectContext.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DelegatingSubject.</span><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#getPrincipals()">getPrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DelegatingSubject.</span><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#releaseRunAs()">releaseRunAs</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectContext.</span><code><span class="memberNameLink"><a href="../support/DefaultSubjectContext.html#resolvePrincipals()">resolvePrincipals</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DelegatingSubject.</span><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#runAs(org.apache.shiro.subject.PrincipalCollection)">runAs</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectContext.</span><code><span class="memberNameLink"><a href="../support/DefaultSubjectContext.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,boolean,java.lang.String,org.apache.shiro.session.Session,boolean,org.apache.shiro.mgt.SecurityManager)">DelegatingSubject</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
boolean&nbsp;authenticated,
<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;host,
<a href="../../session/Session.html" title="interface in org.apache.shiro.session">Session</a>&nbsp;session,
boolean&nbsp;sessionCreationEnabled,
<a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a>&nbsp;securityManager)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,boolean,java.lang.String,org.apache.shiro.session.Session,org.apache.shiro.mgt.SecurityManager)">DelegatingSubject</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
boolean&nbsp;authenticated,
<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;host,
<a href="../../session/Session.html" title="interface in org.apache.shiro.session">Session</a>&nbsp;session,
<a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a>&nbsp;securityManager)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.util">
<!-- -->
</a>
<h3>Uses of <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a> in <a href="../../util/package-summary.html">org.apache.shiro.util</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../util/package-summary.html">org.apache.shiro.util</a> with parameters of type <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></span><span class="tabEnd">&nbsp;</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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">CollectionUtils.</span><code><span class="memberNameLink"><a href="../../util/CollectionUtils.html#isEmpty(org.apache.shiro.subject.PrincipalCollection)">isEmpty</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use PrincipalCollection.isEmpty() directly.</div>
</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<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><a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">Class</a></li>
<li class="navBarCell1Rev">Use</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>
<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>