<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Index (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="Index (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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">AbstractAuthenticationStrategy</span></a> - Class in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block">Abstract base implementation for Shiro's concrete <code>AuthenticationStrategy</code>
 implementations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#%3Cinit%3E()">AbstractAuthenticationStrategy()</a></span> - Constructor for class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">AbstractAuthenticator</span></a> - Class in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Superclass for almost all <a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> implementations that performs the common work around authentication
 attempts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#%3Cinit%3E()">AbstractAuthenticator()</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Default no-argument constructor.</div>
</dd>
<dt><a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util"><span class="typeNameLink">AbstractFactory</span></a>&lt;<a href="org/apache/shiro/util/AbstractFactory.html" title="type parameter in AbstractFactory">T</a>&gt; - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">TODO - Class JavaDoc</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AbstractFactory.html#%3Cinit%3E()">AbstractFactory()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util">AbstractFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">AbstractLdapRealm</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> that authenticates with an LDAP
 server to build the Subject for a user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#%3Cinit%3E()">AbstractLdapRealm()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">AbstractNativeSessionManager</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Abstract implementation supporting the <a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>NativeSessionManager</code></a> interface, supporting
 <a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session"><code>SessionListener</code></a>s and application of the
 <a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#getGlobalSessionTimeout()"><code>globalSessionTimeout</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#%3Cinit%3E()">AbstractNativeSessionManager()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">AbstractRememberMeManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Abstract implementation of the <code>RememberMeManager</code> interface that handles
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setSerializer(org.apache.shiro.io.Serializer)"><code>serialization</code></a> and
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setCipherService(org.apache.shiro.crypto.CipherService)"><code>encryption</code></a> of the remembered user identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#%3Cinit%3E()">AbstractRememberMeManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Default constructor that initializes a <code>DefaultSerializer</code> as the <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getSerializer()"><code>serializer</code></a> and
 an <code>AesCipherService</code> as the <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherService()"><code>cipherService</code></a>.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">AbstractSessionDAO</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">An abstract <code>SessionDAO</code> implementation that performs some sanity checks on session creation and reading and
 allows for pluggable Session ID generation strategies if desired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#%3Cinit%3E()">AbstractSessionDAO()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Default no-arg constructor that defaults the <a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#setSessionIdGenerator(org.apache.shiro.session.mgt.eis.SessionIdGenerator)"><code>sessionIdGenerator</code></a> to be a
 <a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis"><code>JavaUuidSessionIdGenerator</code></a>.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">AbstractSessionManager</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Base abstract class of the <a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a> interface, enabling configuration of an
 application-wide <a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#getGlobalSessionTimeout()"><code>globalSessionTimeout</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#%3Cinit%3E()">AbstractSessionManager()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">AbstractValidatingSessionManager</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Default business-tier implementation of the <a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>ValidatingSessionManager</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#%3Cinit%3E()">AbstractValidatingSessionManager()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/Account.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Account</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An <tt>Account</tt> is a convenience interface that extends both <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> and
 <a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><code>AuthorizationInfo</code></a> and represents authentication and authorization for a <em>single account</em> in a
 <em>single Realm</em>.</div>
</dd>
<dt><a href="org/apache/shiro/authc/AccountException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">AccountException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Exception thrown due to a problem with the account
 under which an authentication attempt is being executed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AccountException.html#%3Cinit%3E()">AccountException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AccountException.html" title="class in org.apache.shiro.authc">AccountException</a></dt>
<dd>
<div class="block">Creates a new AccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AccountException.html#%3Cinit%3E(java.lang.String)">AccountException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AccountException.html" title="class in org.apache.shiro.authc">AccountException</a></dt>
<dd>
<div class="block">Constructs a new AccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AccountException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">AccountException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AccountException.html" title="class in org.apache.shiro.authc">AccountException</a></dt>
<dd>
<div class="block">Constructs a new AccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AccountException.html#%3Cinit%3E(java.lang.Throwable)">AccountException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AccountException.html" title="class in org.apache.shiro.authc">AccountException</a></dt>
<dd>
<div class="block">Constructs a new AccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#accountExists(java.lang.String)">accountExists(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#ACTIVE_SESSION_CACHE_NAME">ACTIVE_SESSION_CACHE_NAME</a></span> - Static variable in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">The default active sessions cache name, equal to <code>shiro-activeSessionCache</code>.</div>
</dd>
<dt><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory"><span class="typeNameLink">ActiveDirectoryRealm</span></a> - Class in <a href="org/apache/shiro/realm/activedirectory/package-summary.html">org.apache.shiro.realm.activedirectory</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> that authenticates with an active directory LDAP
 server to determine the roles for a particular user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#%3Cinit%3E()">ActiveDirectoryRealm()</a></span> - Constructor for class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/MutablePrincipalCollection.html#add(java.lang.Object,java.lang.String)">add(Object, String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject">MutablePrincipalCollection</a></dt>
<dd>
<div class="block">Adds the given principal to this collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#add(java.lang.Object,java.lang.String)">add(Object, String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#add(org.apache.shiro.authc.SimpleAccount)">add(SimpleAccount)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#add(org.apache.shiro.authz.Permission)">add(Permission)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#add(org.apache.shiro.authz.SimpleRole)">add(SimpleRole)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#addAccount(java.lang.String,java.lang.String)">addAccount(String, String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#addAccount(java.lang.String,java.lang.String,java.lang.String...)">addAccount(String, String, String...)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#addAll(java.util.Collection)">addAll(Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/MutablePrincipalCollection.html#addAll(java.util.Collection,java.lang.String)">addAll(Collection, String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject">MutablePrincipalCollection</a></dt>
<dd>
<div class="block">Adds all of the principals in the given collection to this collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#addAll(java.util.Collection,java.lang.String)">addAll(Collection, String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/MutablePrincipalCollection.html#addAll(org.apache.shiro.subject.PrincipalCollection)">addAll(PrincipalCollection)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject">MutablePrincipalCollection</a></dt>
<dd>
<div class="block">Adds all of the principals from the given principal collection to this collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#addAll(org.apache.shiro.subject.PrincipalCollection)">addAll(PrincipalCollection)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addObjectPermission(org.apache.shiro.authz.Permission)">addObjectPermission(Permission)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Assigns an object-based permission directly to this Account (not any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addObjectPermission(org.apache.shiro.authz.Permission)">addObjectPermission(Permission)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) a permission to those directly associated with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addObjectPermissions(java.util.Collection)">addObjectPermissions(Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Assigns one or more object-based permissions directly to this Account (not any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addObjectPermissions(java.util.Collection)">addObjectPermissions(Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) multiple permissions to those associated directly with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addRole(java.lang.String)">addRole(String)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Adds a role to this Account's set of assigned roles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addRole(java.lang.String)">addRole(String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) a role to those associated with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#addRole(java.lang.String)">addRole(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addRole(java.util.Collection)">addRole(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Adds one or more roles to this Account's set of assigned roles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addRoles(java.util.Collection)">addRoles(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) multiple roles to those associated with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addStringPermission(java.lang.String)">addStringPermission(String)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Assigns a String-based permission directly to this Account (not to any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addStringPermission(java.lang.String)">addStringPermission(String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) a permission to those directly associated with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#addStringPermissions(java.util.Collection)">addStringPermissions(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Assigns one or more string-based permissions directly to this Account (not to any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#addStringPermissions(java.util.Collection)">addStringPermissions(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Adds (assigns) multiple permissions to those associated directly with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#afterAllAttempts(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">afterAllAttempts(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>
<div class="block">Simply returns the <code>aggregate</code> argument without modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html#afterAllAttempts(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">afterAllAttempts(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AtLeastOneSuccessfulStrategy</a></dt>
<dd>
<div class="block">Ensures that the <code>aggregate</code> method argument is not <code>null</code> and
 <code>aggregate.<a href="org/apache/shiro/authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a></code>
 is not <code>null</code>, and if either is <code>null</code>, throws an AuthenticationException to indicate
 that none of the realms authenticated successfully.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html#afterAllAttempts(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">afterAllAttempts(AuthenticationToken, AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam">AuthenticationStrategy</a></dt>
<dd>
<div class="block">Method invoked by the ModularAuthenticator signifying that all of its configured Realms have been consulted
 for account data, allowing post-processing after all realms have completed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#afterAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo,java.lang.Throwable)">afterAttempt(Realm, AuthenticationToken, AuthenticationInfo, AuthenticationInfo, Throwable)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>
<div class="block">Base implementation that will aggregate the specified <code>singleRealmInfo</code> into the
 <code>aggregateInfo</code> and then returns the aggregate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html#afterAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo,java.lang.Throwable)">afterAttempt(Realm, AuthenticationToken, AuthenticationInfo, AuthenticationInfo, Throwable)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AllSuccessfulStrategy</a></dt>
<dd>
<div class="block">Merges the specified <code>info</code> into the <code>aggregate</code> argument and returns it (just as the
 parent implementation does), but additionally ensures the following:
 
 if the <code>Throwable</code> argument is not <code>null</code>, re-throws it to immediately cancel the
 authentication process, since this strategy requires all realms to authenticate successfully.
 neither the <code>info</code> or <code>aggregate</code> argument is <code>null</code> to ensure that each
 realm did in fact authenticate successfully
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html#afterAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo,java.lang.Throwable)">afterAttempt(Realm, AuthenticationToken, AuthenticationInfo, AuthenticationInfo, Throwable)</a></span> - Method in interface org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam">AuthenticationStrategy</a></dt>
<dd>
<div class="block">Method invoked by the ModularAuthenticator just after the given realm has been consulted for authentication,
 allowing post-authentication-attempt logic for that realm only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Template callback to notify subclasses that a
 <code>CacheManager</code> has been set and is available for use via the
 <a href="org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager()"><code>getCacheManager()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Simply calls <a href="org/apache/shiro/mgt/RealmSecurityManager.html#applyCacheManagerToRealms()"><code>applyCacheManagerToRealms()</code></a> to allow the
 newly set <code>CacheManager</code> to be propagated to the internal collection of <code>Realm</code>
 that would need to use it.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Calls <a href="org/apache/shiro/mgt/RealmSecurityManager.html#afterCacheManagerSet()"><code>super.afterCacheManagerSet()</code></a> and then immediately calls
 <a href="org/apache/shiro/mgt/SessionsSecurityManager.html#applyCacheManagerToSessionManager()"><code>applyCacheManagerToSessionManager()</code></a> to ensure the
 <code>CacheManager</code> is applied to the SessionManager as necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">This implementation attempts to acquire an authentication cache if one is not already configured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#afterCacheManagerSet()">afterCacheManagerSet()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Template method that may be implemented by subclasses should they wish to react to a
 <code>CacheManager</code> instance being set on the realm instance via the
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>CachingRealm.setCacheManager(org.apache.shiro.cache.CacheManager)</code></a> mutator.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#afterEventBusSet()">afterEventBusSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Template callback to notify subclasses that an <code>EventBus</code> has been set and is available for use
 via the <a href="org/apache/shiro/mgt/CachingSecurityManager.html#getEventBus()"><code>getEventBus()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#afterEventBusSet()">afterEventBusSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#afterEventBusSet()">afterEventBusSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Sets any configured EventBus on the SessionManager if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#afterExpired(org.apache.shiro.session.Session)">afterExpired(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#afterExpired(org.apache.shiro.session.Session)">afterExpired(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#afterRealmsSet()">afterRealmsSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>
<div class="block">Passes on the <a href="org/apache/shiro/mgt/RealmSecurityManager.html#getRealms()"><code>realms</code></a> to the internal delegate <code>Authenticator</code> instance so
 that it may use them during authentication attempts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#afterRealmsSet()">afterRealmsSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>
<div class="block">First calls <code>super.afterRealmsSet()</code> and then sets these same <code>Realm</code> objects on this
 instance's wrapped <a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz"><code>Authorizer</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#afterRealmsSet()">afterRealmsSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#afterRoleCacheSet()">afterRoleCacheSet()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#afterSessionManagerSet()">afterSessionManagerSet()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#afterSessionValidationEnabled()">afterSessionValidationEnabled()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#afterStopped(org.apache.shiro.session.Session)">afterStopped(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#afterStopped(org.apache.shiro.session.Session)">afterStopped(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/AllowAllCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">AllowAllCredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">A credentials matcher that always returns <code>true</code> when matching credentials no matter what arguments
 are passed in.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/AllowAllCredentialsMatcher.html#%3Cinit%3E()">AllowAllCredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/AllowAllCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">AllowAllCredentialsMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/permission/AllPermission.html" title="class in org.apache.shiro.authz.permission"><span class="typeNameLink">AllPermission</span></a> - Class in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">An all <tt>AllPermission</tt> instance is one that always implies any other permission; that is, its
 <a href="org/apache/shiro/authz/permission/AllPermission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> method always returns <tt>true</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/AllPermission.html#%3Cinit%3E()">AllPermission()</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/AllPermission.html" title="class in org.apache.shiro.authz.permission">AllPermission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">AllSuccessfulStrategy</span></a> - Class in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block"><tt>AuthenticationStrategy</tt> implementation that requires <em>all</em> configured realms to
 <b>successfully</b> process the submitted <tt>AuthenticationToken</tt> during the log-in attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html#%3Cinit%3E()">AllSuccessfulStrategy()</a></span> - Constructor for class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AllSuccessfulStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/Logical.html#AND">AND</a></span> - org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/Logical.html" title="enum in org.apache.shiro.authz.annotation">Logical</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationHandler.html#annotationClass">annotationClass</a></span> - Variable in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop">AnnotationHandler</a></dt>
<dd>
<div class="block">The type of annotation this handler will process.</div>
</dd>
<dt><a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop"><span class="typeNameLink">AnnotationHandler</span></a> - Class in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">Base support class for implementations that reads and processes JSR-175 annotations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationHandler.html#%3Cinit%3E(java.lang.Class)">AnnotationHandler(Class&lt;? extends Annotation&gt;)</a></span> - Constructor for class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop">AnnotationHandler</a></dt>
<dd>
<div class="block">Constructs an <code>AnnotationHandler</code> who processes annotations of the
 specified type.</div>
</dd>
<dt><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop"><span class="typeNameLink">AnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">MethodInterceptor that inspects a specific annotation on the method invocation before continuing
 its execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationHandler)">AnnotationMethodInterceptor(AnnotationHandler)</a></span> - Constructor for class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Constructs an <code>AnnotationMethodInterceptor</code> with the
 <a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop"><code>AnnotationHandler</code></a> that will be used to process annotations of a
 corresponding type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationHandler,org.apache.shiro.aop.AnnotationResolver)">AnnotationMethodInterceptor(AnnotationHandler, AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Constructs an <code>AnnotationMethodInterceptor</code> with the
 <a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop"><code>AnnotationHandler</code></a> that will be used to process annotations of a
 corresponding type, using the specified <code>AnnotationResolver</code> to acquire annotations
 at runtime.</div>
</dd>
<dt><a href="org/apache/shiro/aop/AnnotationResolver.html" title="interface in org.apache.shiro.aop"><span class="typeNameLink">AnnotationResolver</span></a> - Interface in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">Defines an AOP-framework-independent way of determining if an Annotation exists on a Method.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AnnotationsAuthorizingMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">An <tt>AnnotationsAuthorizingMethodInterceptor</tt> is a MethodInterceptor that asserts a given method is authorized
 to execute based on one or more configured <tt>AuthorizingAnnotationMethodInterceptor</tt>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#%3Cinit%3E()">AnnotationsAuthorizingMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AnnotationsAuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that defaults the 
 <a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#methodInterceptors"><code>methodInterceptors</code></a> attribute to contain two interceptors by default - the
 <a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><code>RoleAnnotationMethodInterceptor</code></a> and the
 <a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><code>PermissionAnnotationMethodInterceptor</code></a> to
 support role and permission annotations.</div>
</dd>
<dt><a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util"><span class="typeNameLink">AntPathMatcher</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">PathMatcher implementation for Ant-style path patterns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#%3Cinit%3E()">AntPathMatcher()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#applyCacheManagerToRealms()">applyCacheManagerToRealms()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Sets the internal <a href="org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager()"><code>CacheManager</code></a> on any internal configured
 <a href="org/apache/shiro/mgt/RealmSecurityManager.html#getRealms()"><code>Realms</code></a> that implement the <code>CacheManagerAware</code> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#applyCacheManagerToSessionManager()">applyCacheManagerToSessionManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Ensures the internal delegate <code>SessionManager</code> is injected with the newly set
 <a href="org/apache/shiro/mgt/CachingSecurityManager.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>CacheManager</code></a> so it may use it for its internal caching needs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#applyEventBusToCacheManager()">applyEventBusToCacheManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#applyEventBusToRealms()">applyEventBusToRealms()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Sets the internal <a href="org/apache/shiro/mgt/CachingSecurityManager.html#getEventBus()"><code>EventBus</code></a> on any internal configured
 <a href="org/apache/shiro/mgt/RealmSecurityManager.html#getRealms()"><code>Realms</code></a> that implement the <code>EventBusAware</code> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#applyEventBusToSessionManager()">applyEventBusToSessionManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Ensures the internal delegate <code>SessionManager</code> is injected with the newly set
 <a href="org/apache/shiro/mgt/CachingSecurityManager.html#setEventBus(org.apache.shiro.event.EventBus)"><code>EventBus</code></a> so it may use it for its internal event needs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#applyGlobalSessionTimeout(org.apache.shiro.session.Session)">applyGlobalSessionTimeout(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#applyPermissionResolverToRealms()">applyPermissionResolverToRealms()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Sets the internal <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getPermissionResolver()"><code>ModularRealmAuthorizer.getPermissionResolver()</code></a> on any internal configured
 <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getRealms()"><code>Realms</code></a> that implement the <a href="org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><code>PermissionResolverAware</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#applyRealmsToSecurityManager(java.util.Collection,org.apache.shiro.mgt.SecurityManager)">applyRealmsToSecurityManager(Collection&lt;Realm&gt;, SecurityManager)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#applyRolePermissionResolverToRealms()">applyRolePermissionResolverToRealms()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Sets the internal <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getRolePermissionResolver()"><code>ModularRealmAuthorizer.getRolePermissionResolver()</code></a> on any internal configured
 <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getRealms()"><code>Realms</code></a> that implement the <a href="org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><code>RolePermissionResolverAware</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#asList()">asList()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns a single Subject's principals retrieved from all configured Realms as a List, or an empty List if
 there are not any principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#asList()">asList()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#asList()">asList()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#asList(E...)">asList(E...)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">AuthenticatedAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures that the calling <code>Subject</code> is authenticated, and if not, throws an
 <a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz"><code>UnauthenticatedException</code></a> indicating the method is not allowed to be executed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures the calling Subject is authorized to execute based on the directive(s) found in the given
 annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/GuestAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/GuestAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">GuestAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures that the calling <code>Subject</code> is NOT a <em>user</em>, that is, they do not
 have an <a href="org/apache/shiro/subject/Subject.html#getPrincipal()"><code>identity</code></a> before continuing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">PermissionAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures that the calling <code>Subject</code> has the Annotation's specified permissions, and if not, throws an
 <code>AuthorizingException</code> indicating access is denied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/RoleAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/RoleAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">RoleAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures that the calling <code>Subject</code> has the Annotation's specified roles, and if not, throws an
 <code>AuthorizingException</code> indicating that access is denied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/UserAnnotationHandler.html#assertAuthorized(java.lang.annotation.Annotation)">assertAuthorized(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/UserAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">UserAnnotationHandler</a></dt>
<dd>
<div class="block">Ensures that the calling <code>Subject</code> is a <em>user</em>, that is, they are <em>either</code>
 <a href="org/apache/shiro/subject/Subject.html#isAuthenticated()"><code>authenticated</code></a> <b><em>or</em></b> remembered via remember
 me services before allowing access, and if not, throws an
 <code>AuthorizingException</code> indicating access is not allowed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)">assertAuthorized(MethodInvocation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AnnotationsAuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Iterates over the internal <a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#getMethodInterceptors()"><code>methodInterceptors</code></a> collection, and for each one,
 ensures that if the interceptor
 <a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#supports(org.apache.shiro.aop.MethodInvocation)"><code>supports</code></a>
 the invocation, that the interceptor
 <a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)"><code>asserts</code></a>
 that the invocation is authorized to proceed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)">assertAuthorized(MethodInvocation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Ensures the calling Subject is authorized to execute the specified <code>MethodInvocation</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)">assertAuthorized(MethodInvocation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Asserts that the specified MethodInvocation is allowed to continue by performing any necessary authorization
 (access control) checks first.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#assertAuthzCheckPossible()">assertAuthzCheckPossible()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#assertCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">assertCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Asserts that the submitted <code>AuthenticationToken</code>'s credentials match the stored account
 <code>AuthenticationInfo</code>'s credentials, and if not, throws an <a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc"><code>AuthenticationException</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#assertRealmsConfigured()">assertRealmsConfigured()</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#assertRealmsConfigured()">assertRealmsConfigured()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Used by the <a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz"><code>Authorizer</code></a> implementation methods to ensure that the <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#setRealms(java.util.Collection)"><code>realms</code></a>
 has been set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#asSet()">asSet()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns a single Subject's principals retrieved from all configured Realms as a Set, or an empty Set if there
 are not any principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#asSet()">asSet()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#asSet()">asSet()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#asSet(E...)">asSet(E...)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#assignSessionId(org.apache.shiro.session.Session,java.io.Serializable)">assignSessionId(Session, Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Utility method available to subclasses that wish to
 assign a generated session ID to the session instance directly.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#associateWith(java.lang.Runnable)">associateWith(Runnable)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns a <code>Runnable</code> instance matching the given argument while additionally ensuring that it will
 retain and execute under this Subject's identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#associateWith(java.lang.Runnable)">associateWith(Runnable)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#associateWith(java.util.concurrent.Callable)">associateWith(Callable&lt;V&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns a <code>Callable</code> instance matching the given argument while additionally ensuring that it will
 retain and execute under this Subject's identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#associateWith(java.util.concurrent.Callable)">associateWith(Callable&lt;V&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#associateWithSubject(java.lang.Runnable)">associateWithSubject(Runnable)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>
<div class="block">Utility method for subclasses to associate the argument <code>Runnable</code> with the currently executing subject
 and then return the associated Runnable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#associateWithSubject(java.util.Collection)">associateWithSubject(Collection&lt;? extends Callable&lt;T&gt;&gt;)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#associateWithSubject(java.util.concurrent.Callable)">associateWithSubject(Callable&lt;T&gt;)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">AtLeastOneSuccessfulStrategy</span></a> - Class in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block"><tt>AuthenticationStrategy</tt> implementation that requires <em>at least one</em> configured realm to
 successfully process the submitted <tt>AuthenticationToken</tt> during the log-in attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html#%3Cinit%3E()">AtLeastOneSuccessfulStrategy()</a></span> - Constructor for class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AtLeastOneSuccessfulStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#authenticate(org.apache.shiro.authc.AuthenticationToken)">authenticate(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Implementation of the <a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> interface that functions in the following manner:
 
 Calls template <a href="org/apache/shiro/authc/AbstractAuthenticator.html#doAuthenticate(org.apache.shiro.authc.AuthenticationToken)"><code>doAuthenticate</code></a> method for subclass execution of the actual
 authentication behavior.
 If an <code>AuthenticationException</code> is thrown during <code>doAuthenticate</code>,
 <a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifyFailure(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)"><code>notify</code></a> any registered
 <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s of the exception and then propagate the exception
 for the caller to handle.
 If no exception is thrown (indicating a successful login),
 <a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifySuccess(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)"><code>notify</code></a> any registered
 <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s of the successful attempt.
 Return the <code>AuthenticationInfo</code>
 </div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/Authenticator.html#authenticate(org.apache.shiro.authc.AuthenticationToken)">authenticate(AuthenticationToken)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</a></dt>
<dd>
<div class="block">Authenticates a user based on the submitted <code>AuthenticationToken</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#authenticate(org.apache.shiro.authc.AuthenticationToken)">authenticate(AuthenticationToken)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>
<div class="block">Delegates to the wrapped <a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> for authentication.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#authenticated">authenticated</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#authenticated(boolean)">authenticated(boolean)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Ensures the <code>Subject</code> being built will be considered
 <a href="org/apache/shiro/subject/Subject.html#isAuthenticated()"><code>authenticated</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#AUTHENTICATED_SESSION_KEY">AUTHENTICATED_SESSION_KEY</a></span> - Static variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>
<div class="block">The session key that is used to store whether or not the user is authenticated.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AuthenticatedAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Handles <a href="org/apache/shiro/authz/annotation/RequiresAuthentication.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresAuthentication</code></a> annotations and ensures the calling subject is
 authenticated before allowing access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationHandler.html#%3Cinit%3E()">AuthenticatedAnnotationHandler()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">AuthenticatedAnnotationHandler</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this handler to process
 <a href="org/apache/shiro/authz/annotation/RequiresAuthentication.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresAuthentication</code></a> annotations.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AuthenticatedAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresAuthentication.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresAuthenticated</code></a> annotation
 is declared, and if so, ensures the calling
 <code>Subject</code>.<a href="org/apache/shiro/subject/Subject.html#isAuthenticated()"><code>isAuthenticated()</code></a> before invoking
 the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationMethodInterceptor.html#%3Cinit%3E()">AuthenticatedAnnotationMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthenticatedAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for
 <a href="org/apache/shiro/authz/annotation/RequiresAuthentication.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresAuthentication</code></a> annotations in a method
 declaration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationResolver)">AuthenticatedAnnotationMethodInterceptor(AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthenticatedAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthenticatedAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm"><span class="typeNameLink">AuthenticatingRealm</span></a> - Class in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">A top-level abstract implementation of the <tt>Realm</tt> interface that only implements authentication support
 (log-in) operations and leaves authorization (access control) behavior to subclasses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#%3Cinit%3E()">AuthenticatingRealm()</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#%3Cinit%3E(org.apache.shiro.authc.credential.CredentialsMatcher)">AuthenticatingRealm(CredentialsMatcher)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#%3Cinit%3E(org.apache.shiro.cache.CacheManager)">AuthenticatingRealm(CacheManager)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#%3Cinit%3E(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)">AuthenticatingRealm(CacheManager, CredentialsMatcher)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">AuthenticatingSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Shiro support of a <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> class hierarchy that delegates all
 authentication operations to a wrapped <a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#%3Cinit%3E()">AuthenticatingSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor that initializes its internal
 <code>authenticator</code> instance to a
 <a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#authentication">authentication</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">AuthenticationException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">General exception thrown due to an error during the Authentication process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationException.html#%3Cinit%3E()">AuthenticationException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></dt>
<dd>
<div class="block">Creates a new AuthenticationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationException.html#%3Cinit%3E(java.lang.String)">AuthenticationException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></dt>
<dd>
<div class="block">Constructs a new AuthenticationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">AuthenticationException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></dt>
<dd>
<div class="block">Constructs a new AuthenticationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationException.html#%3Cinit%3E(java.lang.Throwable)">AuthenticationException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></dt>
<dd>
<div class="block">Constructs a new AuthenticationException.</div>
</dd>
<dt><a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">AuthenticationInfo</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block"><code>AuthenticationInfo</code> represents a Subject's (aka user's) stored account information relevant to the
 authentication/log-in process only.</div>
</dd>
<dt><a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">AuthenticationListener</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An <code>AuthenticationListener</code> listens for notifications while <code>Subject</code>s authenticate with the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#authenticationQuery">authenticationQuery</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam"><span class="typeNameLink">AuthenticationStrategy</span></a> - Interface in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block">A <code>AuthenticationStrategy</code> implementation assists the <a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a> during the
 log-in process in a pluggable realm (PAM) environment.</div>
</dd>
<dt><a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">AuthenticationToken</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An <tt>AuthenticationToken</tt> is a consolidation of an account's principals and supporting
 credentials submitted by a user during an authentication attempt.</div>
</dd>
<dt><a href="org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">Authenticator</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An Authenticator is responsible for authenticating accounts in an application.</div>
</dd>
<dt><a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">AuthorizationException</span></a> - Exception in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">Exception thrown if there is a problem during authorization (access control check).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationException.html#%3Cinit%3E()">AuthorizationException()</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></dt>
<dd>
<div class="block">Creates a new AuthorizationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationException.html#%3Cinit%3E(java.lang.String)">AuthorizationException(String)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></dt>
<dd>
<div class="block">Constructs a new AuthorizationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">AuthorizationException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></dt>
<dd>
<div class="block">Constructs a new AuthorizationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationException.html#%3Cinit%3E(java.lang.Throwable)">AuthorizationException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz">AuthorizationException</a></dt>
<dd>
<div class="block">Constructs a new AuthorizationException.</div>
</dd>
<dt><a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><span class="typeNameLink">AuthorizationInfo</span></a> - Interface in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block"><code>AuthorizationInfo</code> represents a single Subject's stored authorization data (roles, permissions, etc)
 used during authorization (access control) checks only.</div>
</dd>
<dt><a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz"><span class="typeNameLink">Authorizer</span></a> - Interface in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">An <tt>Authorizer</tt> performs authorization (access control) operations for any given Subject
 (aka 'application user').</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AuthorizingAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">An AnnotationHandler that executes authorization (access control) behavior based on directive(s) found in a
 JSR-175 Annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationHandler.html#%3Cinit%3E(java.lang.Class)">AuthorizingAnnotationHandler(Class&lt;? extends Annotation&gt;)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationHandler</a></dt>
<dd>
<div class="block">Constructs an <code>AuthorizingAnnotationHandler</code> who processes annotations of the
 specified type.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AuthorizingAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">An <tt>AnnotationMethodInterceptor</tt> that asserts the calling code is authorized to execute the method
 before allowing the invocation to continue by inspecting code annotations to perform an access control check.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.authz.aop.AuthorizingAnnotationHandler)">AuthorizingAnnotationMethodInterceptor(AuthorizingAnnotationHandler)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Constructor that ensures the internal <code>handler</code> is set which will be used to perform the
 authorization assertion checks when a supported annotation is encountered.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.authz.aop.AuthorizingAnnotationHandler,org.apache.shiro.aop.AnnotationResolver)">AuthorizingAnnotationMethodInterceptor(AuthorizingAnnotationHandler, AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">AuthorizingMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Basic abstract class to support intercepting methods that perform authorization (access control) checks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html#%3Cinit%3E()">AuthorizingMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm"><span class="typeNameLink">AuthorizingRealm</span></a> - Class in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">An <code>AuthorizingRealm</code> extends the <code>AuthenticatingRealm</code>'s capabilities by adding Authorization
 (access control) support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#%3Cinit%3E()">AuthorizingRealm()</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#%3Cinit%3E(org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm(CredentialsMatcher)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#%3Cinit%3E(org.apache.shiro.cache.CacheManager)">AuthorizingRealm(CacheManager)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#%3Cinit%3E(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)">AuthorizingRealm(CacheManager, CredentialsMatcher)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">AuthorizingSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Shiro support of a <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> class hierarchy that delegates all
 authorization (access control) operations to a wrapped <a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz"><code>Authorizer</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#%3Cinit%3E()">AuthorizingSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor that initializes an internal default
 <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz"><code>ModularRealmAuthorizer</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#awaitTermination(long,java.util.concurrent.TimeUnit)">awaitTermination(long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="org/apache/shiro/env/BasicIniEnvironment.html" title="class in org.apache.shiro.env"><span class="typeNameLink">BasicIniEnvironment</span></a> - Class in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">Basic usage:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/BasicIniEnvironment.html#%3Cinit%3E(java.lang.String)">BasicIniEnvironment(String)</a></span> - Constructor for class org.apache.shiro.env.<a href="org/apache/shiro/env/BasicIniEnvironment.html" title="class in org.apache.shiro.env">BasicIniEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/BasicIniEnvironment.html#%3Cinit%3E(org.apache.shiro.config.Ini)">BasicIniEnvironment(Ini)</a></span> - Constructor for class org.apache.shiro.env.<a href="org/apache/shiro/env/BasicIniEnvironment.html" title="class in org.apache.shiro.env">BasicIniEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">BearerToken</span></a> - Class in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> that contains an a Bearer token or API key, typically received via an HTTP <code>Authorization</code> header.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#%3Cinit%3E(java.lang.String)">BearerToken(String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#%3Cinit%3E(java.lang.String,java.lang.String)">BearerToken(String, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#beforeAllAttempts(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">beforeAllAttempts(Collection&lt;? extends Realm&gt;, AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>
<div class="block">Simply returns <code>new <a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc"><code>SimpleAuthenticationInfo</code></a>();</code>, which supports
 aggregating account data across realms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html#beforeAllAttempts(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">beforeAllAttempts(Collection&lt;? extends Realm&gt;, AuthenticationToken)</a></span> - Method in interface org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam">AuthenticationStrategy</a></dt>
<dd>
<div class="block">Method invoked by the ModularAuthenticator signifying that the authentication process is about to begin for the
 specified <code>token</code> - called before any <code>Realm</code> is actually invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#beforeAllAttempts(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">beforeAllAttempts(Collection&lt;? extends Realm&gt;, AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>
<div class="block">Returns <code>null</code> immediately, relying on this class's <a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#merge(org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo)"><code>merge</code></a> implementation to return
 only the first <code>info</code> object it encounters, ignoring all subsequent ones.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">beforeAttempt(Realm, AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>
<div class="block">Simply returns the <code>aggregate</code> method argument, without modification.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">beforeAttempt(Realm, AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AllSuccessfulStrategy</a></dt>
<dd>
<div class="block">Because all realms in this strategy must complete successfully, this implementation ensures that the given
 <code>Realm</code> <a href="org/apache/shiro/realm/Realm.html#supports(org.apache.shiro.authc.AuthenticationToken)"><code>supports</code></a> the given
 <code>token</code> argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">beforeAttempt(Realm, AuthenticationToken, AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam">AuthenticationStrategy</a></dt>
<dd>
<div class="block">Method invoked by the ModularAuthenticator just prior to the realm being consulted for account data,
 allowing pre-authentication-attempt logic for that realm only.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">beforeAttempt(Realm, AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>
<div class="block">Throws ShortCircuitIterationException if stopAfterFirstSuccess is set and authentication is 
 successful with a previously consulted realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#beforeInvalidNotification(org.apache.shiro.session.Session)">beforeInvalidNotification(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Returns the session instance to use to pass to registered <code>SessionListener</code>s for notification
 that the session has been invalidated (stopped or expired).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#beforeLogout(org.apache.shiro.subject.Subject)">beforeLogout(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#beforeSessionValidationDisabled()">beforeSessionValidationDisabled()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectThreadState.html#bind()">bind()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support">SubjectThreadState</a></dt>
<dd>
<div class="block">Binds a <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> and <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> to the
 <a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util"><code>ThreadContext</code></a> so they can be retrieved later by any
 <code>SecurityUtils.</code><a href="org/apache/shiro/SecurityUtils.html#getSubject()"><code>getSubject()</code></a> calls that might occur
 during the thread's execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadState.html#bind()">bind()</a></span> - Method in interface org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadState.html" title="interface in org.apache.shiro.util">ThreadState</a></dt>
<dd>
<div class="block">Binds any state that should be made accessible during a thread's execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#bind(java.lang.String,java.lang.Object)">bind(String, Object)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Bind the given object to the current JNDI context, using the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#bind(org.apache.shiro.mgt.SecurityManager)">bind(SecurityManager)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies binding the application's SecurityManager instance to the ThreadContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#bind(org.apache.shiro.subject.Subject)">bind(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in favor of <a href="org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><code>save(subject)</code></a>.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#bind(org.apache.shiro.subject.Subject)">bind(Subject)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies binding a Subject to the ThreadContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#buildAuthenticationInfo(java.lang.String,char%5B%5D)">buildAuthenticationInfo(String, char[])</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#buildAuthorizationInfo(java.util.Set)">buildAuthorizationInfo(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#%3Cinit%3E()">Builder()</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Constructs a new <a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> instance, using the <code>SecurityManager</code> instance available
 to the calling code as determined by a call to <a href="org/apache/shiro/SecurityUtils.html#getSecurityManager()"><code>SecurityUtils.getSecurityManager()</code></a>
 to build the <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#%3Cinit%3E(org.apache.shiro.mgt.SecurityManager)">Builder(SecurityManager)</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Constructs a new <a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><code>Subject.Builder</code></a> instance which will use the specified <code>SecurityManager</code> when
 building the <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#buildHashRequest(org.apache.shiro.util.ByteSource,org.apache.shiro.crypto.hash.Hash)">buildHashRequest(ByteSource, Hash)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#buildSubject()">buildSubject()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Creates and returns a new <code>Subject</code> instance reflecting the cumulative state acquired by the
 other methods in this class.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#byType(java.lang.Class)">byType(Class&lt;T&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns all principals assignable from the specified type, or an empty Collection if no principals of that
 type are contained.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#byType(java.lang.Class)">byType(Class&lt;T&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#byType(java.lang.Class)">byType(Class&lt;T&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#cache(org.apache.shiro.session.Session,java.io.Serializable)">cache(Session, Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Caches the specified session under the cache entry key of <code>sessionId</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#cache(org.apache.shiro.session.Session,java.io.Serializable,org.apache.shiro.cache.Cache)">cache(Session, Serializable, Cache&lt;Serializable, Session&gt;)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Caches the specified session in the given cache under the key of <code>sessionId</code>.</div>
</dd>
<dt><a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm"><span class="typeNameLink">CachingRealm</span></a> - Class in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">A very basic abstract extension point for the <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> interface that provides caching support for subclasses.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#%3Cinit%3E()">CachingRealm()</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Default no-argument constructor that defaults
 <a href="org/apache/shiro/realm/CachingRealm.html#isCachingEnabled()"><code>cachingEnabled</code></a> (for general caching) to <code>true</code> and sets a
 default <a href="org/apache/shiro/realm/CachingRealm.html#getName()"><code>name</code></a> based on the class name.</div>
</dd>
<dt><a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">CachingSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A very basic starting point for the SecurityManager interface that merely provides logging and caching
 support.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#%3Cinit%3E()">CachingSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor that will automatically attempt to initialize a default cacheManager</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">CachingSessionDAO</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">An CachingSessionDAO is a SessionDAO that provides a transparent caching layer between the components that
 use it and the underlying EIS (Enterprise Information System) session backing store (for example, filesystem,
 database, enterprise grid/cloud, etc).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#%3Cinit%3E()">CachingSessionDAO()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Default no-arg constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectCallable.html#call()">call()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support">SubjectCallable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#checkHashFormatDurability()">checkHashFormatDurability()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkPermission(java.lang.String)">checkPermission(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Ensures this Subject implies the specified permission String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkPermission(java.lang.String)">checkPermission(String)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkPermission(org.apache.shiro.authz.Permission)">checkPermission(Permission)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Ensures this Subject <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> the specified <code>Permission</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkPermission(org.apache.shiro.authz.Permission)">checkPermission(Permission)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">checkPermission(Permission, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission(PrincipalCollection, String)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Ensures the corresponding Subject/user implies the specified permission String.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">If !<a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkPermission(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission(PrincipalCollection, Permission)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Ensures a subject/user <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>Permission.implies(Permission)</code></a> implies} the specified <tt>Permission</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">If !<a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">checkPermission(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkPermissions(java.lang.String...)">checkPermissions(String...)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Ensures this Subject
 <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkPermissions(java.lang.String...)">checkPermissions(String...)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkPermissions(java.util.Collection)">checkPermissions(Collection&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Ensures this Subject
 <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkPermissions(java.util.Collection)">checkPermissions(Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermissions(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkPermissions(Collection&lt;Permission&gt;, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions(PrincipalCollection, String...)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Ensures the corresponding Subject/user
 <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">If !<a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkPermissions(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Ensures the corresponding Subject/user
 <a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)"><code>implies</code></a> all of the
 specified permission strings.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">If !<a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkPermissions(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkRole(java.lang.String)">checkRole(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Asserts this Subject has the specified role by returning quietly if they do or throwing an
 <a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkRole(java.lang.String)">checkRole(String)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">checkRole(String, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole(PrincipalCollection, String)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Asserts the corresponding Subject/user has the specified role by returning quietly if they do or throwing an
 <a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">If !<a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">checkRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkRoles(java.lang.String...)">checkRoles(String...)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Same as <code>checkRoles(Collection<String>roleIdentifiers)</code> but
 doesn't require a collection as a an argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkRoles(java.lang.String...)">checkRoles(String...)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#checkRoles(java.util.Collection)">checkRoles(Collection&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Asserts this Subject has all of the specified roles by returning quietly if they do or throwing an
 <a href="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#checkRoles(java.util.Collection)">checkRoles(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">checkRoles(Collection&lt;String&gt;, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles(PrincipalCollection, String...)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Same as <a href="org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)"><code>checkRoles(PrincipalCollection subjectPrincipal, Collection&lt;String&gt; roleIdentifiers)</code></a> but doesn't require a collection
 as an argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Calls <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)"><code>checkRole</code></a> for each role specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">checkRoles(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<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="org/apache/shiro/authz/AuthorizationException.html" title="class in org.apache.shiro.authz"><code>AuthorizationException</code></a> if they do not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Calls <a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)"><code>checkRoles(PrincipalCollection principals, String... roles) </code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">checkRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#checkValid(org.apache.shiro.session.mgt.SessionKey)">checkValid(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#checkValid(org.apache.shiro.session.mgt.SessionKey)">checkValid(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns quietly if the associated session is valid (it exists and is not stopped or expired) or throws
 an <a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session"><code>InvalidSessionException</code></a> indicating that the session id is invalid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#clear()">clear()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Clears out (nulls) the username, password, rememberMe, and inetAddress.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/MutablePrincipalCollection.html#clear()">clear()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject">MutablePrincipalCollection</a></dt>
<dd>
<div class="block">Removes all Principals in this collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#clear()">clear()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#clear()">clear()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectThreadState.html#clear()">clear()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support">SubjectThreadState</a></dt>
<dd>
<div class="block">Completely <a href="org/apache/shiro/util/ThreadContext.html#remove(java.lang.Object)"><code>removes</code></a> the <code>ThreadContext</code> state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#clear()">clear()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadState.html#clear()">clear()</a></span> - Method in interface org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadState.html" title="interface in org.apache.shiro.util">ThreadState</a></dt>
<dd>
<div class="block">Completely clears/removes the <code>ThreadContext</code> state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#clearCache(org.apache.shiro.subject.PrincipalCollection)">clearCache(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Clears out any cached data associated with the specified account identity/identities.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthenticationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Clears out the AuthenticationInfo cache entry for the specified account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">clearCachedAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Clears out the AuthorizationInfo cache entry for the specified account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JdbcUtils.html#closeConnection(java.sql.Connection)">closeConnection(Connection)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JdbcUtils.html" title="class in org.apache.shiro.util">JdbcUtils</a></dt>
<dd>
<div class="block">Close the given JDBC Connection and ignore any thrown exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapUtils.html#closeContext(javax.naming.ldap.LdapContext)">closeContext(LdapContext)</a></span> - Static method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapUtils.html" title="class in org.apache.shiro.realm.ldap">LdapUtils</a></dt>
<dd>
<div class="block">Closes an LDAP context, logging any errors, but not throwing
 an exception if there is a failure.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapUtils.html#closeEnumeration(javax.naming.NamingEnumeration)">closeEnumeration(NamingEnumeration)</a></span> - Static method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapUtils.html" title="class in org.apache.shiro.realm.ldap">LdapUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JdbcUtils.html#closeResultSet(java.sql.ResultSet)">closeResultSet(ResultSet)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JdbcUtils.html" title="class in org.apache.shiro.util">JdbcUtils</a></dt>
<dd>
<div class="block">Close the given JDBC ResultSet and ignore any thrown exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JdbcUtils.html#closeStatement(java.sql.Statement)">closeStatement(Statement)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JdbcUtils.html" title="class in org.apache.shiro.util">JdbcUtils</a></dt>
<dd>
<div class="block">Close the given JDBC Statement and ignore any thrown exception.</div>
</dd>
<dt><a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util"><span class="typeNameLink">CollectionUtils</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">Static helper class for use dealing with Collections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#%3Cinit%3E()">CollectionUtils()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#COLUMN">COLUMN</a></span> - org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">ConcurrentAccessException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown when an authentication attempt has been received for an account that has already been
 authenticated (i.e.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ConcurrentAccessException.html#%3Cinit%3E()">ConcurrentAccessException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc">ConcurrentAccessException</a></dt>
<dd>
<div class="block">Creates a new ConcurrentAccessException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ConcurrentAccessException.html#%3Cinit%3E(java.lang.String)">ConcurrentAccessException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc">ConcurrentAccessException</a></dt>
<dd>
<div class="block">Constructs a new ConcurrentAccessException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ConcurrentAccessException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ConcurrentAccessException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc">ConcurrentAccessException</a></dt>
<dd>
<div class="block">Constructs a new ConcurrentAccessException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ConcurrentAccessException.html#%3Cinit%3E(java.lang.Throwable)">ConcurrentAccessException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc">ConcurrentAccessException</a></dt>
<dd>
<div class="block">Constructs a new ConcurrentAccessException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#CONTAINER_PREFIX">CONTAINER_PREFIX</a></span> - Static variable in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">JNDI prefix used in a J2EE container</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#containsKey(java.lang.Object)">containsKey(Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#containsKey(java.lang.Object)">containsKey(Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#containsValue(java.lang.Object)">containsValue(Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#containsValue(java.lang.Object)">containsValue(Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#contextAttribute(java.lang.String,java.lang.Object)">contextAttribute(String, Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Allows custom attributes to be added to the underlying context <code>Map</code> used to construct the
 <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#contextFactoryClassName">contextFactoryClassName</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#convertBytesToPrincipals(byte%5B%5D,org.apache.shiro.subject.SubjectContext)">convertBytesToPrincipals(byte[], SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">If a <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherService()"><code>cipherService</code></a> is available, it will be used to first decrypt the byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#convertJndiName(java.lang.String)">convertJndiName(String)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Convert the given JNDI name into the actual JNDI name to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)">convertPrincipalsToBytes(PrincipalCollection)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Converts the given principal collection the byte array that will be persisted to be 'remembered' later.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#copy(org.apache.shiro.subject.SubjectContext)">copy(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#create(org.apache.shiro.session.Session)">create(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>
<div class="block">Persists the given session instance to an underlying EIS (Enterprise Information System).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#create(org.apache.shiro.session.Session)">create(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Creates the session by delegating EIS creation to subclasses via the <a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#doCreate(org.apache.shiro.session.Session)"><code>AbstractSessionDAO.doCreate(org.apache.shiro.session.Session)</code></a> method, and then
 asserting that the returned sessionId is not null.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#create(org.apache.shiro.session.Session)">create(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Calls <code>super.create(session)</code>, then caches the session keyed by the returned <code>sessionId</code>, and then
 returns this <code>sessionId</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html#create(org.apache.shiro.session.Session)">create(Session)</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis">SessionDAO</a></dt>
<dd>
<div class="block">Inserts a new Session record into the underling EIS (e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#createActiveSessionsCache()">createActiveSessionsCache()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Creates a cache instance used to store active sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#createAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken,java.lang.Object,java.lang.Object,javax.naming.ldap.LdapContext)">createAuthenticationInfo(AuthenticationToken, Object, Object, LdapContext)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> resulting from a Subject's successful LDAP authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#createByteSource(java.lang.Object)">createByteSource(Object)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#createDefaultInstance()">createDefaultInstance()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#createDefaultInstance()">createDefaultInstance()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#createDefaults(org.apache.shiro.config.Ini,org.apache.shiro.config.Ini.Section)">createDefaults(Ini, Ini.Section)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#createExposedSession(org.apache.shiro.session.Session,org.apache.shiro.session.mgt.SessionContext)">createExposedSession(Session, SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#createExposedSession(org.apache.shiro.session.Session,org.apache.shiro.session.mgt.SessionKey)">createExposedSession(Session, SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#createHashRequest(org.apache.shiro.util.ByteSource)">createHashRequest(ByteSource)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#createInitialContext()">createInitialContext()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Create a new JNDI initial context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#createInstance()">createInstance()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new object instance by using a configured INI source.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AbstractFactory.html#createInstance()">createInstance()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util">AbstractFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#createInstance(org.apache.shiro.config.Ini)">createInstance(Ini)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#createInstance(org.apache.shiro.config.Ini)">createInstance(Ini)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#createLdapContext(java.util.Hashtable)">createLdapContext(Hashtable)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates and returns a new <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/ldap/InitialLdapContext.html?is-external=true" title="class or interface in javax.naming.ldap" class="externalLink"><code>InitialLdapContext</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#createLdapContext(java.util.Hashtable)">createLdapContext(Hashtable)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Creates and returns a new <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/ldap/InitialLdapContext.html?is-external=true" title="class or interface in javax.naming.ldap" class="externalLink"><code>InitialLdapContext</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#createRealm(org.apache.shiro.config.Ini)">createRealm(Ini)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a <code>Realm</code> from the Ini instance containing account data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#createSession(org.apache.shiro.session.mgt.SessionContext)">createSession(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Creates a new <code>Session Session</code> instance based on the specified (possibly <code>null</code>)
 initialization data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#createSession(org.apache.shiro.session.mgt.SessionContext)">createSession(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionFactory.html#createSession(org.apache.shiro.session.mgt.SessionContext)">createSession(SessionContext)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionFactory.html" title="interface in org.apache.shiro.session.mgt">SessionFactory</a></dt>
<dd>
<div class="block">Creates a new <code>Session</code> instance based on the specified contextual initialization data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSessionFactory.html#createSession(org.apache.shiro.session.mgt.SessionContext)">createSession(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSessionFactory.html" title="class in org.apache.shiro.session.mgt">SimpleSessionFactory</a></dt>
<dd>
<div class="block">Creates a new <a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt"><code>SimpleSession</code></a> instance retaining the context's
 <a href="org/apache/shiro/session/mgt/SessionContext.html#getHost()"><code>host</code></a> if one can be found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#createSessionContext()">createSessionContext()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#createSessionContext(org.apache.shiro.subject.SubjectContext)">createSessionContext(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#createSessionValidationScheduler()">createSessionValidationScheduler()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">createSubject(AuthenticationToken, AuthenticationInfo, Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Creates a <code>Subject</code> instance for the user represented by the given method arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">This implementation functions as follows:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectFactory.html" title="class in org.apache.shiro.mgt">DefaultSubjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SecurityManager.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject(SubjectContext)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a></dt>
<dd>
<div class="block">Creates a <code>Subject</code> instance reflecting the specified contextual data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject(SubjectContext)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</a></dt>
<dd>
<div class="block">Creates a new Subject instance reflecting the state of the specified contextual data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#createSubjectContext()">createSubjectContext()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#credentials">credentials</a></span> - Variable in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">The credentials verifying the account principals.</div>
</dd>
<dt><a href="org/apache/shiro/authc/CredentialsException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">CredentialsException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Exception thrown due to a problem with the credential(s) submitted for an
 account during the authentication process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/CredentialsException.html#%3Cinit%3E()">CredentialsException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/CredentialsException.html" title="class in org.apache.shiro.authc">CredentialsException</a></dt>
<dd>
<div class="block">Creates a new CredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/CredentialsException.html#%3Cinit%3E(java.lang.String)">CredentialsException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/CredentialsException.html" title="class in org.apache.shiro.authc">CredentialsException</a></dt>
<dd>
<div class="block">Constructs a new CredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/CredentialsException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">CredentialsException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/CredentialsException.html" title="class in org.apache.shiro.authc">CredentialsException</a></dt>
<dd>
<div class="block">Constructs a new CredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/CredentialsException.html#%3Cinit%3E(java.lang.Throwable)">CredentialsException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/CredentialsException.html" title="class in org.apache.shiro.authc">CredentialsException</a></dt>
<dd>
<div class="block">Constructs a new CredentialsException.</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential"><span class="typeNameLink">CredentialsMatcher</span></a> - Interface in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">Interface implemented by classes that can determine if an AuthenticationToken's provided
 credentials matches a corresponding account's credentials stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#credentialsSalt">credentialsSalt</a></span> - Variable in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Any salt used in hashing the credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#CRYPT">CRYPT</a></span> - org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="org/apache/shiro/dao/DataAccessException.html" title="class in org.apache.shiro.dao"><span class="typeNameLink">DataAccessException</span></a> - Exception in <a href="org/apache/shiro/dao/package-summary.html">org.apache.shiro.dao</a></dt>
<dd>
<div class="block">Generic exception representing a problem when attempting to access data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/dao/DataAccessException.html#%3Cinit%3E(java.lang.String)">DataAccessException(String)</a></span> - Constructor for exception org.apache.shiro.dao.<a href="org/apache/shiro/dao/DataAccessException.html" title="class in org.apache.shiro.dao">DataAccessException</a></dt>
<dd>
<div class="block">Constructs a DataAccessException with a message explaining the cause of the exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/dao/DataAccessException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DataAccessException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.dao.<a href="org/apache/shiro/dao/DataAccessException.html" title="class in org.apache.shiro.dao">DataAccessException</a></dt>
<dd>
<div class="block">Constructs a DataAccessException with a message explaining the cause of the exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#dataSource">dataSource</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#decorate(org.apache.shiro.session.Session)">decorate(Session)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#decrypt(byte%5B%5D)">decrypt(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Decrypts the byte array using the configured <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherService()"><code>cipherService</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#DEFAULT_AUTHENTICATION_QUERY">DEFAULT_AUTHENTICATION_QUERY</a></span> - Static variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">The default query used to retrieve account data for the user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#DEFAULT_CASE_SENSITIVE">DEFAULT_CASE_SENSITIVE</a></span> - Static variable in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#DEFAULT_CONTEXT_FACTORY_CLASS_NAME">DEFAULT_CONTEXT_FACTORY_CLASS_NAME</a></span> - Static variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#DEFAULT_GLOBAL_SESSION_TIMEOUT">DEFAULT_GLOBAL_SESSION_TIMEOUT</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>
<div class="block">Default main session timeout value, equal to <code>30</code> minutes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#DEFAULT_HASH_ALGORITHM">DEFAULT_HASH_ALGORITHM</a></span> - Static variable in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#DEFAULT_HASH_ITERATIONS">DEFAULT_HASH_ITERATIONS</a></span> - Static variable in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#DEFAULT_INI_RESOURCE_PATH">DEFAULT_INI_RESOURCE_PATH</a></span> - Static variable in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#DEFAULT_PATH_SEPARATOR">DEFAULT_PATH_SEPARATOR</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>
<div class="block">Default path separator: "/"</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#DEFAULT_PERMISSIONS_QUERY">DEFAULT_PERMISSIONS_QUERY</a></span> - Static variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">The default query used to retrieve permissions that apply to a particular role.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#DEFAULT_REFERRAL">DEFAULT_REFERRAL</a></span> - Static variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#DEFAULT_SALTED_AUTHENTICATION_QUERY">DEFAULT_SALTED_AUTHENTICATION_QUERY</a></span> - Static variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">The default query used to retrieve account data for the user when <a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#saltStyle"><code>JdbcRealm.saltStyle</code></a> is COLUMN.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#DEFAULT_SECURITY_MANAGER_KEY">DEFAULT_SECURITY_MANAGER_KEY</a></span> - Static variable in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">The default name under which the application's <code>SecurityManager</code> instance may be acquired, equal to
 <code>securityManager</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#DEFAULT_SESSION_VALIDATION_INTERVAL">DEFAULT_SESSION_VALIDATION_INTERVAL</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>
<div class="block">The default interval at which sessions will be validated (1 hour);
 This can be overridden by calling <a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#setSessionValidationInterval(long)"><code>AbstractValidatingSessionManager.setSessionValidationInterval(long)</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#DEFAULT_USER_ROLES_QUERY">DEFAULT_USER_ROLES_QUERY</a></span> - Static variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">The default query used to retrieve the roles that apply to a user.</div>
</dd>
<dt><a href="org/apache/shiro/aop/DefaultAnnotationResolver.html" title="class in org.apache.shiro.aop"><span class="typeNameLink">DefaultAnnotationResolver</span></a> - Class in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">Default <code>AnnotationResolver</code> implementation that merely inspects the
 <a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop"><code>MethodInvocation</code></a>'s <a href="org/apache/shiro/aop/MethodInvocation.html#getMethod()"><code>target method</code></a>,
 and returns <code>targetMethod</code>.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true#getAnnotation(java.lang.Class)" title="class or interface in java.lang.reflect" class="externalLink"><code>getAnnotation(class)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/DefaultAnnotationResolver.html#%3Cinit%3E()">DefaultAnnotationResolver()</a></span> - Constructor for class org.apache.shiro.aop.<a href="org/apache/shiro/aop/DefaultAnnotationResolver.html" title="class in org.apache.shiro.aop">DefaultAnnotationResolver</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env"><span class="typeNameLink">DefaultEnvironment</span></a> - Class in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">Simple/default <code>Environment</code> implementation that stores Shiro objects as key-value pairs in a
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#%3Cinit%3E()">DefaultEnvironment()</a></span> - Constructor for class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Creates a new instance with a thread-safe <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ConcurrentHashMap</code></a> backing map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#%3Cinit%3E(java.util.Map)">DefaultEnvironment(Map&lt;String, ?&gt;)</a></span> - Constructor for class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Creates a new instance with the specified backing map.</div>
</dd>
<dt><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">DefaultLdapContextFactory</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">replaced by the <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap"><code>JndiLdapContextFactory</code></a> implementation.  This implementation will be removed
 prior to Shiro 2.0</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#%3Cinit%3E()">DefaultLdapContextFactory()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">DefaultLdapRealm</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="block">An LDAP <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> implementation utilizing Sun's/Oracle's
 <a href="http://download-llnw.oracle.com/javase/tutorial/jndi/ldap/jndi.html">JNDI API as an LDAP API</a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#%3Cinit%3E()">DefaultLdapRealm()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Default no-argument constructor that defaults the internal <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a> instance to a
 <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap"><code>JndiLdapContextFactory</code></a>.</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">DefaultPasswordService</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">Default implementation of the <a href="org/apache/shiro/authc/credential/PasswordService.html" title="interface in org.apache.shiro.authc.credential"><code>PasswordService</code></a> interface that relies on an internal
 <code>HashService</code>, <code>HashFormat</code>, and <code>HashFormatFactory</code> to function:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#%3Cinit%3E()">DefaultPasswordService()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">DefaultSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">The Shiro framework's default concrete implementation of the <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> interface,
 based around a collection of <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#%3Cinit%3E()">DefaultSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#%3Cinit%3E(java.util.Collection)">DefaultSecurityManager(Collection&lt;Realm&gt;)</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Supporting constructor for multiple <a href="org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)"><code>realms</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#%3Cinit%3E(org.apache.shiro.realm.Realm)">DefaultSecurityManager(Realm)</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Supporting constructor for a single-realm application.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">DefaultSessionContext</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Default implementation of the <a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt"><code>SessionContext</code></a> interface which provides getters and setters that
 wrap interaction with the underlying backing context map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#%3Cinit%3E()">DefaultSessionContext()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#%3Cinit%3E(java.util.Map)">DefaultSessionContext(Map&lt;String, Object&gt;)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/DefaultSessionKey.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">DefaultSessionKey</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Default implementation of the <a href="org/apache/shiro/session/mgt/SessionKey.html" title="interface in org.apache.shiro.session.mgt"><code>SessionKey</code></a> interface, which allows setting and retrieval of a concrete
 <a href="org/apache/shiro/session/mgt/DefaultSessionKey.html#getSessionId()"><code>sessionId</code></a> that the <code>SessionManager</code> implementation can use to look up a
 <code>Session</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionKey.html#%3Cinit%3E()">DefaultSessionKey()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionKey.html" title="class in org.apache.shiro.session.mgt">DefaultSessionKey</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionKey.html#%3Cinit%3E(java.io.Serializable)">DefaultSessionKey(Serializable)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionKey.html" title="class in org.apache.shiro.session.mgt">DefaultSessionKey</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">DefaultSessionManager</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Default business-tier implementation of a <a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>ValidatingSessionManager</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#%3Cinit%3E()">DefaultSessionManager()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">DefaultSessionStorageEvaluator</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A Default <code>SessionStorageEvaluator</code> that provides reasonable control over if and how Sessions may be used for
 storing Subject state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html#%3Cinit%3E()">DefaultSessionStorageEvaluator()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt">DefaultSessionStorageEvaluator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">DefaultSubjectContext</span></a> - Class in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">Default implementation of the <a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject"><code>SubjectContext</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#%3Cinit%3E()">DefaultSubjectContext()</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#%3Cinit%3E(org.apache.shiro.subject.SubjectContext)">DefaultSubjectContext(SubjectContext)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">DefaultSubjectDAO</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Default <code>SubjectDAO</code> implementation that stores Subject state in the Subject's Session by default (but this
 can be disabled - see below).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#%3Cinit%3E()">DefaultSubjectDAO()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/DefaultSubjectFactory.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">DefaultSubjectFactory</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Default <a href="org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><code>SubjectFactory</code></a> implementation that creates <a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support"><code>DelegatingSubject</code></a>
 instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectFactory.html#%3Cinit%3E()">DefaultSubjectFactory()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectFactory.html" title="class in org.apache.shiro.mgt">DefaultSubjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#delegate">delegate</a></span> - Variable in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">The proxied instance</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">DelegatingSession</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A DelegatingSession is a client-tier representation of a server side
 <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#%3Cinit%3E(org.apache.shiro.session.mgt.NativeSessionManager,org.apache.shiro.session.mgt.SessionKey)">DelegatingSession(NativeSessionManager, SessionKey)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">DelegatingSubject</span></a> - Class in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">Implementation of the <code>Subject</code> interface that delegates
 method calls to an underlying <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> instance for security checks.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#%3Cinit%3E(org.apache.shiro.mgt.SecurityManager)">DelegatingSubject(SecurityManager)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/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(PrincipalCollection, boolean, String, Session, boolean, SecurityManager)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/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(PrincipalCollection, boolean, String, Session, SecurityManager)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#delete(org.apache.shiro.session.Session)">delete(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#delete(org.apache.shiro.session.Session)">delete(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Removes the specified session from any cache and then permanently deletes the session from the EIS by
 delegating to <a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#doDelete(org.apache.shiro.session.Session)"><code>CachingSessionDAO.doDelete(org.apache.shiro.session.Session)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#delete(org.apache.shiro.session.Session)">delete(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html#delete(org.apache.shiro.session.Session)">delete(Session)</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis">SessionDAO</a></dt>
<dd>
<div class="block">Deletes the associated EIS record of the specified <code>session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)">delete(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Removes (or 'unbinds') the Subject's state from the application, typically called during <a href="org/apache/shiro/mgt/DefaultSecurityManager.html#logout(org.apache.shiro.subject.Subject)"><code>DefaultSecurityManager.logout(org.apache.shiro.subject.Subject)</code></a>..</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#delete(org.apache.shiro.subject.Subject)">delete(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Removes any existing subject state from the subject's session (if the session exists).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SubjectDAO.html#delete(org.apache.shiro.subject.Subject)">delete(Subject)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</a></dt>
<dd>
<div class="block">Removes any persisted state for the specified <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#deserialize(byte%5B%5D)">deserialize(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">De-serializes the given byte array by using the <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getSerializer()"><code>serializer</code></a>'s
 <code>deserialize</code> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Destroys the <a href="org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager()"><code>cacheManager</code></a> via <code>LifecycleUtils.destroy</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>
<div class="block">Destroy reload scheduler if one exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#destroy()">destroy()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/DisabledAccountException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">DisabledAccountException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown when attempting to authenticate and the corresponding account has been disabled for
 some reason.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/DisabledAccountException.html#%3Cinit%3E()">DisabledAccountException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/DisabledAccountException.html" title="class in org.apache.shiro.authc">DisabledAccountException</a></dt>
<dd>
<div class="block">Creates a new DisabledAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/DisabledAccountException.html#%3Cinit%3E(java.lang.String)">DisabledAccountException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/DisabledAccountException.html" title="class in org.apache.shiro.authc">DisabledAccountException</a></dt>
<dd>
<div class="block">Constructs a new DisabledAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/DisabledAccountException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">DisabledAccountException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/DisabledAccountException.html" title="class in org.apache.shiro.authc">DisabledAccountException</a></dt>
<dd>
<div class="block">Constructs a new DisabledAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/DisabledAccountException.html#%3Cinit%3E(java.lang.Throwable)">DisabledAccountException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/DisabledAccountException.html" title="class in org.apache.shiro.authc">DisabledAccountException</a></dt>
<dd>
<div class="block">Constructs a new DisabledAccountException.</div>
</dd>
<dt><a href="org/apache/shiro/subject/support/DisabledSessionException.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">DisabledSessionException</span></a> - Exception in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">Exception thrown if attempting to create a new <code>Subject</code>
 <a href="org/apache/shiro/subject/Subject.html#getSession()"><code>session</code></a>, but that <code>Subject</code>'s sessions are disabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DisabledSessionException.html#%3Cinit%3E(java.lang.String)">DisabledSessionException(String)</a></span> - Constructor for exception org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DisabledSessionException.html" title="class in org.apache.shiro.subject.support">DisabledSessionException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#disableSessionValidation()">disableSessionValidation()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#disableSessionValidation()">disableSessionValidation()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html#disableSessionValidation()">disableSessionValidation()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt">SessionValidationScheduler</a></dt>
<dd>
<div class="block">Disables the session validation job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#doAuthenticate(org.apache.shiro.authc.AuthenticationToken)">doAuthenticate(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Template design pattern hook for subclasses to implement specific authentication behavior.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#doAuthenticate(org.apache.shiro.authc.AuthenticationToken)">doAuthenticate(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Attempts to authenticate the given token by iterating over the internal collection of
 <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectCallable.html#doCall(java.util.concurrent.Callable)">doCall(Callable&lt;V&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support">SubjectCallable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">This implementation clears out any cached authentication data by calling
 <a href="org/apache/shiro/realm/AuthenticatingRealm.html#clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>AuthenticatingRealm.clearCachedAuthenticationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Calls <code>super.doClearCache</code> to ensure any cached authentication data is removed and then calls
 <a href="org/apache/shiro/realm/AuthorizingRealm.html#clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)"><code>AuthorizingRealm.clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)</code></a> to remove any cached
 authorization data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#doClearCache(org.apache.shiro.subject.PrincipalCollection)">doClearCache(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">This implementation does nothing - it is a template to be overridden by subclasses if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#doCreate(org.apache.shiro.session.Session)">doCreate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Subclass hook to actually persist the given <tt>Session</tt> instance to the underlying EIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html#doCreate(org.apache.shiro.session.Session)">doCreate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">EnterpriseCacheSessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#doCreate(org.apache.shiro.session.Session)">doCreate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#doCreateSession(org.apache.shiro.session.mgt.SessionContext)">doCreateSession(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#doCreateSession(org.apache.shiro.session.mgt.SessionContext)">doCreateSession(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)">doCreateSubject(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Actually creates a <code>Subject</code> instance by delegating to the internal
 <a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectFactory()"><code>subjectFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/AllowAllCredentialsMatcher.html#doCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">doCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/AllowAllCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">AllowAllCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns <code>true</code> <em>always</em> no matter what the method arguments are.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/CredentialsMatcher.html#doCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">doCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential">CredentialsMatcher</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the provided token credentials match the stored account credentials,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#doCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">doCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">This implementation first hashes the <code>token</code>'s credentials, potentially using a
 <code>salt</code> if the <code>info</code> argument is a
 <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#doCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">doCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#doCredentialsMatch(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">doCredentialsMatch(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">SimpleCredentialsMatcher</a></dt>
<dd>
<div class="block">This implementation acquires the <code>token</code>'s credentials
 (via <a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#getCredentials(org.apache.shiro.authc.AuthenticationToken)"><code>getCredentials(token)</code></a>)
 and then the <code>account</code>'s credentials
 (via <a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#getCredentials(org.apache.shiro.authc.AuthenticationInfo)"><code>getCredentials(account)</code></a>) and then passes both of
 them to the <a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#equals(java.lang.Object,java.lang.Object)"><code>equals(tokenCredentials, accountCredentials)</code></a> method for equality
 comparison.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#doDelete(org.apache.shiro.session.Session)">doDelete(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Subclass implementation hook to permanently delete the given Session from the underlying EIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html#doDelete(org.apache.shiro.session.Session)">doDelete(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">EnterpriseCacheSessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Retrieves authentication data from an implementation-specific datasource (RDBMS, LDAP, etc) for the given
 authentication token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Delegates to <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#queryForAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.realm.ldap.LdapContextFactory)"><code>DefaultLdapRealm.queryForAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken, LdapContextFactory)</code></a>,
 wrapping any <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming" class="externalLink"><code>NamingException</code></a>s in a Shiro <a href="org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc"><code>AuthenticationException</code></a> to satisfy the parent method
 signature.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#doGetAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">doGetAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Retrieves the AuthorizationInfo for the given principals from the underlying data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<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="org/apache/shiro/realm/CachingRealm.html#getName()"><code>name</code></a></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">doGetAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#doGetSession(org.apache.shiro.session.mgt.SessionKey)">doGetSession(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#doGetSession(org.apache.shiro.session.mgt.SessionKey)">doGetSession(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiCallback.html#doInContext(javax.naming.Context)">doInContext(Context)</a></span> - Method in interface org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiCallback.html" title="interface in org.apache.shiro.jndi">JndiCallback</a></dt>
<dd>
<div class="block">Do something with the given JNDI context.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission"><span class="typeNameLink">DomainPermission</span></a> - Class in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">Provides a base Permission class from which type-safe/domain-specific subclasses may extend.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#%3Cinit%3E()">DomainPermission()</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>
<div class="block">Creates a domain permission with *all* actions for *all* targets;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#%3Cinit%3E(java.lang.String)">DomainPermission(String)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#%3Cinit%3E(java.lang.String,java.lang.String)">DomainPermission(String, String)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#%3Cinit%3E(java.util.Set,java.util.Set)">DomainPermission(Set&lt;String&gt;, Set&lt;String&gt;)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#doMatch(java.lang.String,java.lang.String,boolean)">doMatch(String, String, boolean)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>
<div class="block">Actually match the given <code>path</code> against the given <code>pattern</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#doMultiRealmAuthentication(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">doMultiRealmAuthentication(Collection&lt;Realm&gt;, AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Performs the multi-realm authentication attempt by calling back to a <a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam"><code>AuthenticationStrategy</code></a> object
 as each realm is consulted for <code>AuthenticationInfo</code> for the specified <code>token</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#doReadSession(java.io.Serializable)">doReadSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Subclass implementation hook that retrieves the Session object from the underlying EIS or <code>null</code> if a
 session with that ID could not be found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html#doReadSession(java.io.Serializable)">doReadSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">EnterpriseCacheSessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#doReadSession(java.io.Serializable)">doReadSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectRunnable.html#doRun(java.lang.Runnable)">doRun(Runnable)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support">SubjectRunnable</a></dt>
<dd>
<div class="block">Simply calls the target <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a>'s <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang" class="externalLink"><code>run()</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#doSingleRealmAuthentication(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken)">doSingleRealmAuthentication(Realm, AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Performs the authentication attempt by interacting with the single configured realm, which is significantly
 simpler than performing multi-realm logic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#doUpdate(org.apache.shiro.session.Session)">doUpdate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Subclass implementation hook to actually persist the <code>Session</code>'s state to the underlying EIS.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html#doUpdate(org.apache.shiro.session.Session)">doUpdate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">EnterpriseCacheSessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#doValidate(org.apache.shiro.session.Session)">doValidate(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#enableSessionValidation()">enableSessionValidation()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#enableSessionValidation()">enableSessionValidation()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>
<div class="block">Creates a single thread <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ScheduledExecutorService</code></a> to validate sessions at fixed intervals 
 and enables this scheduler.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html#enableSessionValidation()">enableSessionValidation()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt">SessionValidationScheduler</a></dt>
<dd>
<div class="block">Enables the session validation job.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#encrypt(byte%5B%5D)">encrypt(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Encrypts the byte array by using the configured <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherService()"><code>cipherService</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#encryptPassword(java.lang.Object)">encryptPassword(Object)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordService.html#encryptPassword(java.lang.Object)">encryptPassword(Object)</a></span> - Method in interface org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordService.html" title="interface in org.apache.shiro.authc.credential">PasswordService</a></dt>
<dd>
<div class="block">Converts the specified plaintext password (usually acquired from your application's 'new user' or 'password reset'
 workflow) into a formatted string safe for storage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#ensureCombinedPrincipals()">ensureCombinedPrincipals()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#ensureSecurityManager(org.apache.shiro.subject.SubjectContext)">ensureSecurityManager(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Determines if there is a <code>SecurityManager</code> instance in the context, and if not, adds 'this' to the
 context.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">EnterpriseCacheSessionDAO</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">SessionDAO implementation that relies on an enterprise caching product as the EIS system of record for all sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html#%3Cinit%3E()">EnterpriseCacheSessionDAO()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/EnterpriseCacheSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">EnterpriseCacheSessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#entrySet()">entrySet()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#entrySet()">entrySet()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/env/Environment.html" title="interface in org.apache.shiro.env"><span class="typeNameLink">Environment</span></a> - Interface in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">An <code>Environment</code> instance encapsulates all of the objects that Shiro requires to function.</div>
</dd>
<dt><a href="org/apache/shiro/env/EnvironmentException.html" title="class in org.apache.shiro.env"><span class="typeNameLink">EnvironmentException</span></a> - Exception in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">Exception thrown for errors related to <a href="org/apache/shiro/env/Environment.html" title="interface in org.apache.shiro.env"><code>Environment</code></a> instances or configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/EnvironmentException.html#%3Cinit%3E(java.lang.String)">EnvironmentException(String)</a></span> - Constructor for exception org.apache.shiro.env.<a href="org/apache/shiro/env/EnvironmentException.html" title="class in org.apache.shiro.env">EnvironmentException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/EnvironmentException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">EnvironmentException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.env.<a href="org/apache/shiro/env/EnvironmentException.html" title="class in org.apache.shiro.env">EnvironmentException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified object is also a <a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc"><code>SimpleAccount</code></a> and its
 <a href="org/apache/shiro/authc/SimpleAccount.html#getPrincipals()"><code>principals</code></a> are equal to this object's <code>principals</code>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the Object argument is an <code>instanceof SimpleAuthenticationInfo</code> and
 its <a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getPrincipals()"><code>principals</code></a> are equal to this instance's principals, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified argument is an <code>instanceof</code> <code>SimpleSession</code> and both
 <a href="org/apache/shiro/session/mgt/SimpleSession.html#getId()"><code>id</code></a>s are equal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#equals(java.lang.Object,java.lang.Object)">equals(Object, Object)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">SimpleCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <code>tokenCredentials</code> argument is logically equal to the
 <code>accountCredentials</code> argument.</div>
</dd>
<dt><a href="org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">ExcessiveAttemptsException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown when a system is configured to only allow a certain number of authentication attempts
 over a period of time and the current session has failed to authenticate successfully within
 that number.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExcessiveAttemptsException.html#%3Cinit%3E()">ExcessiveAttemptsException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc">ExcessiveAttemptsException</a></dt>
<dd>
<div class="block">Creates a new ExcessiveAttemptsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExcessiveAttemptsException.html#%3Cinit%3E(java.lang.String)">ExcessiveAttemptsException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc">ExcessiveAttemptsException</a></dt>
<dd>
<div class="block">Constructs a new ExcessiveAttemptsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExcessiveAttemptsException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ExcessiveAttemptsException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc">ExcessiveAttemptsException</a></dt>
<dd>
<div class="block">Constructs a new ExcessiveAttemptsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExcessiveAttemptsException.html#%3Cinit%3E(java.lang.Throwable)">ExcessiveAttemptsException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc">ExcessiveAttemptsException</a></dt>
<dd>
<div class="block">Constructs a new ExcessiveAttemptsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#execute(java.lang.Runnable)">execute(Runnable)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>
<div class="block">Executes the specified runnable by first associating it with the currently executing <code>Subject</code> and then
 dispatches the associated Runnable to the underlying target <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Executor</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#execute(java.lang.Runnable)">execute(Runnable)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Associates the specified <code>Runnable</code> with this <code>Subject</code> instance and then executes it on the
 currently running thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#execute(java.lang.Runnable)">execute(Runnable)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#execute(java.util.concurrent.Callable)">execute(Callable&lt;V&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Associates the specified <code>Callable</code> with this <code>Subject</code> instance and then executes it on the
 currently running thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#execute(java.util.concurrent.Callable)">execute(Callable&lt;V&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#execute(org.apache.shiro.jndi.JndiCallback)">execute(JndiCallback)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Execute the given JNDI context callback implementation.</div>
</dd>
<dt><a href="org/apache/shiro/subject/ExecutionException.html" title="class in org.apache.shiro.subject"><span class="typeNameLink">ExecutionException</span></a> - Exception in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">Exception wrapping any potential checked exception thrown when a <code>Subject</code> executes a
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Callable</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/ExecutionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ExecutionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.subject.<a href="org/apache/shiro/subject/ExecutionException.html" title="class in org.apache.shiro.subject">ExecutionException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/ExecutionException.html#%3Cinit%3E(java.lang.Throwable)">ExecutionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.subject.<a href="org/apache/shiro/subject/ExecutionException.html" title="class in org.apache.shiro.subject">ExecutionException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">ExecutorServiceSessionValidationScheduler</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">SessionValidationScheduler implementation that uses a
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ScheduledExecutorService</code></a> to call <a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html#validateSessions()"><code>ValidatingSessionManager.validateSessions()</code></a> every
 <em><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#getInterval()"><code>interval</code></a></em> milliseconds.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#%3Cinit%3E()">ExecutorServiceSessionValidationScheduler()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#%3Cinit%3E(org.apache.shiro.session.mgt.ValidatingSessionManager)">ExecutorServiceSessionValidationScheduler(ValidatingSessionManager)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#expire()">expire()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">ExpiredCredentialsException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown during the authentication process when the system determines the submitted credential(s)
 has expired and will not allow login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExpiredCredentialsException.html#%3Cinit%3E()">ExpiredCredentialsException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc">ExpiredCredentialsException</a></dt>
<dd>
<div class="block">Creates a new ExpiredCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExpiredCredentialsException.html#%3Cinit%3E(java.lang.String)">ExpiredCredentialsException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc">ExpiredCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExpiredCredentialsException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ExpiredCredentialsException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc">ExpiredCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/ExpiredCredentialsException.html#%3Cinit%3E(java.lang.Throwable)">ExpiredCredentialsException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc">ExpiredCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredCredentialsException.</div>
</dd>
<dt><a href="org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session"><span class="typeNameLink">ExpiredSessionException</span></a> - Exception in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">A special case of a StoppedSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ExpiredSessionException.html#%3Cinit%3E()">ExpiredSessionException()</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session">ExpiredSessionException</a></dt>
<dd>
<div class="block">Creates a new ExpiredSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ExpiredSessionException.html#%3Cinit%3E(java.lang.String)">ExpiredSessionException(String)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session">ExpiredSessionException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ExpiredSessionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ExpiredSessionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session">ExpiredSessionException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ExpiredSessionException.html#%3Cinit%3E(java.lang.Throwable)">ExpiredSessionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session">ExpiredSessionException</a></dt>
<dd>
<div class="block">Constructs a new ExpiredSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#EXTERNAL">EXTERNAL</a></span> - org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#extractPathWithinPattern(java.lang.String,java.lang.String)">extractPathWithinPattern(String, String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>
<div class="block">Given a pattern and a full path, determine the pattern-mapped part.</div>
</dd>
</dl>
<a id="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#fileLastModified">fileLastModified</a></span> - Variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">FirstSuccessfulStrategy</span></a> - Class in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block"><a href="org/apache/shiro/authc/pam/AuthenticationStrategy.html" title="interface in org.apache.shiro.authc.pam"><code>AuthenticationStrategy</code></a> implementation that only accepts the account data from
 the first successfully consulted Realm and ignores all subsequent realms.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#%3Cinit%3E()">FirstSuccessfulStrategy()</a></span> - Constructor for class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)">forgetIdentity(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Forgets (removes) any remembered identity data for the specified <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RememberMeManager.html#forgetIdentity(org.apache.shiro.subject.SubjectContext)">forgetIdentity(SubjectContext)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></dt>
<dd>
<div class="block">Forgets any remembered identity corresponding to the subject context map being used to build a subject instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#fromRealm(java.lang.String)">fromRealm(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns a single Subject's principals retrieved from the specified Realm <em>only</em> as a Collection, or an empty
 Collection if there are not any principals from that realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#fromRealm(java.lang.String)">fromRealm(String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#fromRealm(java.lang.String)">fromRealm(String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html#generateId(org.apache.shiro.session.Session)">generateId(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">JavaUuidSessionIdGenerator</a></dt>
<dd>
<div class="block">Ignores the method argument and simply returns
 <code>UUID</code>.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true#randomUUID()" title="class or interface in java.util" class="externalLink"><code>randomUUID()</code></a>.<code>toString()</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html#generateId(org.apache.shiro.session.Session)">generateId(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">RandomSessionIdGenerator</a></dt>
<dd>
<div class="block">Returns the String value of the configured <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Random</code></a>'s <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true#nextLong()" title="class or interface in java.util" class="externalLink"><code>nextLong()</code></a> invocation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionIdGenerator.html#generateId(org.apache.shiro.session.Session)">generateId(Session)</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionIdGenerator.html" title="interface in org.apache.shiro.session.mgt.eis">SessionIdGenerator</a></dt>
<dd>
<div class="block">Generates a new ID to be applied to the specified <code>Session</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#generateSessionId(org.apache.shiro.session.Session)">generateSessionId(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Generates a new ID to be applied to the specified <code>session</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#get(java.lang.Object)">get(Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#get(java.lang.Object)">get(Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#get(java.lang.Object)">get(Object)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Returns the object for the specified <code>key</code> that is bound to
 the current thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#getActions()">getActions()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#getActiveSessions()">getActiveSessions()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#getActiveSessions()">getActiveSessions()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getActiveSessions()">getActiveSessions()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns all active sessions in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#getActiveSessions()">getActiveSessions()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html#getActiveSessions()">getActiveSessions()</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis">SessionDAO</a></dt>
<dd>
<div class="block">Returns all sessions in the EIS that are considered active, meaning all sessions that
 haven't been stopped/expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getActiveSessionsCache()">getActiveSessionsCache()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns the cache instance to use for storing active sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getActiveSessionsCacheName()">getActiveSessionsCacheName()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns the name of the actives sessions cache to be returned by the <code>CacheManager</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapUtils.html#getAllAttributeValues(javax.naming.directory.Attribute)">getAllAttributeValues(Attribute)</a></span> - Static method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapUtils.html" title="class in org.apache.shiro.realm.ldap">LdapUtils</a></dt>
<dd>
<div class="block">Helper method used to retrieve all attribute values from a particular context attribute.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#getAnnotation(org.apache.shiro.aop.MethodInvocation)">getAnnotation(MethodInvocation)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Returns the Annotation that this interceptor will process for the specified method invocation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationResolver.html#getAnnotation(org.apache.shiro.aop.MethodInvocation,java.lang.Class)">getAnnotation(MethodInvocation, Class&lt;? extends Annotation&gt;)</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationResolver.html" title="interface in org.apache.shiro.aop">AnnotationResolver</a></dt>
<dd>
<div class="block">Returns an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation" class="externalLink"><code>Annotation</code></a> instance of the specified type based on the given
 <a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop"><code>MethodInvocation</code></a> argument, or <code>null</code> if no annotation
 of that type could be found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/DefaultAnnotationResolver.html#getAnnotation(org.apache.shiro.aop.MethodInvocation,java.lang.Class)">getAnnotation(MethodInvocation, Class&lt;? extends Annotation&gt;)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/DefaultAnnotationResolver.html" title="class in org.apache.shiro.aop">DefaultAnnotationResolver</a></dt>
<dd>
<div class="block">Returns <code>methodInvocation.</code><a href="org/apache/shiro/aop/MethodInvocation.html#getMethod()"><code>getMethod()</code></a>.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true#getAnnotation(java.lang.Class)" title="class or interface in java.lang.reflect" class="externalLink"><code>getAnnotation(clazz)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationHandler.html#getAnnotationClass()">getAnnotationClass()</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop">AnnotationHandler</a></dt>
<dd>
<div class="block">Returns the type of annotation this handler inspects and processes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html#getAnnotationValue(java.lang.annotation.Annotation)">getAnnotationValue(Annotation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">PermissionAnnotationHandler</a></dt>
<dd>
<div class="block">Returns the annotation <a href="org/apache/shiro/authz/annotation/RequiresPermissions.html#value()"><code>value</code></a>, from which the Permission will be constructed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInvocation.html#getArguments()">getArguments()</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop">MethodInvocation</a></dt>
<dd>
<div class="block">Returns the (possibly null) arguments to be supplied to the method invocation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getAttribute(java.lang.Object)">getAttribute(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getAttribute(java.lang.Object)">getAttribute(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getAttribute(java.lang.Object)">getAttribute(Object)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getAttribute(java.lang.Object)">getAttribute(Object)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the object bound to this session identified by the specified key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object)">getAttribute(SessionKey, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object)">getAttribute(SessionKey, Object)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns the object bound to the associated session identified by the specified attribute key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getAttributeKeys()">getAttributeKeys()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getAttributeKeys()">getAttributeKeys()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getAttributeKeys()">getAttributeKeys()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getAttributeKeys()">getAttributeKeys()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the keys of all the attributes stored under this session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getAttributeKeys(org.apache.shiro.session.mgt.SessionKey)">getAttributeKeys(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getAttributeKeys(org.apache.shiro.session.mgt.SessionKey)">getAttributeKeys(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns all attribute keys maintained by the target session or an empty collection if there are no attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getAttributes()">getAttributes()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCache()">getAuthenticationCache()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns a <code>Cache</code> instance to use for authentication caching, or <code>null</code> if no cache has been
 set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationCacheKey(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns the key under which <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> instances are cached if authentication caching is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthenticationCacheKey(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns the key under which <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> instances are cached if authentication caching is enabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationCacheName()">getAuthenticationCacheName()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns the name of a <code>Cache</code> to lookup from any available <a href="org/apache/shiro/realm/CachingRealm.html#getCacheManager()"><code>cacheManager</code></a> if
 a cache is not explicitly configured via <a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)"><code>AuthenticatingRealm.setAuthenticationCache(org.apache.shiro.cache.Cache)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getAuthenticationInfo()">getAuthenticationInfo()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getAuthenticationInfo()">getAuthenticationInfo()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">This implementation functions as follows:
 
 It attempts to acquire any cached <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> corresponding to the specified
 <a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/Realm.html#getAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken)">getAuthenticationInfo(AuthenticationToken)</a></span> - Method in interface org.apache.shiro.realm.<a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a></dt>
<dd>
<div class="block">Returns an account's authentication-specific information for the specified <tt>token</tt>,
 or <tt>null</tt> if no account could be found based on the <tt>token</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#getAuthenticationListeners()">getAuthenticationListeners()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that should be notified during authentication
 attempts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getAuthenticationMechanism()">getAuthenticationMechanism()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the type of LDAP authentication mechanism to use when connecting to the LDAP server.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#getAuthenticationStrategy()">getAuthenticationStrategy()</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Returns the <code>AuthenticationStrategy</code> utilized by this modular authenticator during a multi-realm
 log-in attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getAuthenticationToken()">getAuthenticationToken()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getAuthenticationToken()">getAuthenticationToken()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getAuthenticationTokenClass()">getAuthenticationTokenClass()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns the authenticationToken class supported by this realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#getAuthenticator()">getAuthenticator()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>
<div class="block">Returns the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
 authentication operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCache()">getAuthorizationCache()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationCacheKey(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationCacheName()">getAuthorizationCacheName()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)">getAuthorizationInfo(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#getAuthorizer()">getAuthorizer()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>
<div class="block">Returns the underlying wrapped <tt>Authorizer</tt> instance to which this <tt>SecurityManager</tt>
 implementation delegates all of its authorization calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#getAvailablePrincipal(org.apache.shiro.subject.PrincipalCollection)">getAvailablePrincipal(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">A utility method for subclasses that returns the first available principal of interest to this particular realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#getBeans()">getBeans()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getCachedSession(java.io.Serializable)">getCachedSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns the cached session with the corresponding <code>sessionId</code> or <code>null</code> if there is
 no session cached under that id (or if there is no Cache).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getCachedSession(java.io.Serializable,org.apache.shiro.cache.Cache)">getCachedSession(Serializable, Cache&lt;Serializable, Session&gt;)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns the Session with the specified id from the specified cache.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager()">getCacheManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Returns the CacheManager used by this SecurityManager.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#getCacheManager()">getCacheManager()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Returns the <tt>CacheManager</tt> used for data caching to reduce EIS round trips, or <tt>null</tt> if
 caching is disabled.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getCacheManager()">getCacheManager()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Returns the CacheManager to use for acquiring the <a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getActiveSessionsCache()"><code>activeSessionsCache</code></a> if
 one is not configured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherKey()">getCipherKey()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Convenience method that returns the cipher key to use for <em>both</em> encryption and decryption.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getCipherService()">getCipherService()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Returns the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy
 inspection of Subject identity data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getContextFactory()">getContextFactory()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the LdapContextFactory instance used to acquire connections to the LDAP directory during authentication
 attempts and authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getContextFactoryClassName()">getContextFactoryClassName()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the name of the ContextFactory class to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationInfo.html#getCredentials()">getCredentials()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the credentials associated with the corresponding Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationToken.html#getCredentials()">getCredentials()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a></dt>
<dd>
<div class="block">Returns the credentials submitted by the user during the authentication process that verifies
 the submitted <a href="org/apache/shiro/authc/AuthenticationToken.html#getPrincipal()"><code>account identity</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#getCredentials()">getCredentials()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getCredentials()">getCredentials()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Simply returns <code>this.authcInfo.getCredentials</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getCredentials()">getCredentials()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#getCredentials()">getCredentials()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/authc/UsernamePasswordToken.html#getPassword()"><code>password</code></a> char array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#getCredentials(org.apache.shiro.authc.AuthenticationInfo)">getCredentials(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns a <code>Hash</code> instance representing the already-hashed AuthenticationInfo credentials stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#getCredentials(org.apache.shiro.authc.AuthenticationInfo)">getCredentials(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">SimpleCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns the <code>account</code>'s credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#getCredentials(org.apache.shiro.authc.AuthenticationToken)">getCredentials(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">SimpleCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns the <code>token</code>'s credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#getCredentialsMatcher()">getCredentialsMatcher()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns the <code>CredentialsMatcher</code> used during an authentication attempt to verify submitted
 credentials with those stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html#getCredentialsSalt()">getCredentialsSalt()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc">SaltedAuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the salt used to salt the account's credentials or <code>null</code> if no salt was used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getCredentialsSalt()">getCredentialsSalt()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns the salt used to hash this Account's credentials (eg for password hashing), or <code>null</code> if no salt
 was used or credentials were not hashed at all.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getCredentialsSalt()">getCredentialsSalt()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the salt used to hash the credentials, or <code>null</code> if no salt was used or credentials were not
 hashed at all.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getDecryptionCipherKey()">getDecryptionCipherKey()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Returns the decryption cipher key to use for decryption operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#getDefaults()">getDefaults()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a mapping of String to bean representing the default set of object used by the factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#getDomain()">getDomain()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#getDomain(java.lang.Class)">getDomain(Class&lt;? extends DomainPermission&gt;)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getEncryptionCipherKey()">getEncryptionCipherKey()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Returns the cipher key to use for encryption operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#getEnvironment()">getEnvironment()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Return the environment for the JNDI InitialContext, or <code>null</code> if none should be used.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getEnvironment()">getEnvironment()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the base JNDI environment template to use when acquiring an LDAP connection (an <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/ldap/LdapContext.html?is-external=true" title="class or interface in javax.naming.ldap" class="externalLink"><code>LdapContext</code></a>).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#getEventBus()">getEventBus()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Returns the <code>EventBus</code> used by this SecurityManager and potentially any of its children components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getEventBus()">getEventBus()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Returns the EventBus used to publish SessionEvents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#getGlobalSessionTimeout()">getGlobalSessionTimeout()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>
<div class="block">Returns the system-wide default time in milliseconds that any session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#getHandler()">getHandler()</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Returns the <code>AnnotationHandler</code> used to perform authorization behavior based on
 an annotation discovered at runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#getHashAlgorithmName()">getHashAlgorithmName()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns the <code>Hash</code> <code>algorithmName</code> to use
 when performing hashes for credentials matching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#getHashFormat()">getHashFormat()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#getHashFormatFactory()">getHashFormatFactory()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#getHashIterations()">getHashIterations()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns the number of times a submitted <code>AuthenticationToken</code>'s credentials will be hashed before
 comparing to the credentials stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#getHashService()">getHashService()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/HostAuthenticationToken.html#getHost()">getHost()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/HostAuthenticationToken.html" title="interface in org.apache.shiro.authc">HostAuthenticationToken</a></dt>
<dd>
<div class="block">Returns the host name of the client from where the
 authentication attempt originates or if the Shiro environment cannot or
 chooses not to resolve the hostname to improve performance, this method
 returns the String representation of the client's IP address.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns the host name or IP string from where the authentication attempt occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#getHost()">getHost()</a></span> - Method in exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Returns the host associated with this exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionContext.html#getHost()">getHost()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</a></dt>
<dd>
<div class="block">Returns the originating host name or IP address (as a String) from where the <code>Subject</code> is initiating the
 <code>Session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getHost()">getHost()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the host name or IP string of the host that originated this session, or <code>null</code>
 if the host is unknown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getHost()">getHost()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns the host name or IP that should reflect the constructed <code>Subject</code>'s originating location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getHost()">getHost()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>
<div class="block">Returns the host name or IP associated with the client who created/is interacting with this Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getHost(org.apache.shiro.session.mgt.SessionKey)">getHost(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getHost(org.apache.shiro.session.mgt.SessionKey)">getHost(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns the host name or IP string of the host where the session was started, if known.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getId()">getId()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getId()">getId()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getId()">getId()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getId()">getId()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the unique identifier assigned by the system upon session creation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)">getIdentityToRemember(Subject, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Returns <code>info</code>.<a href="org/apache/shiro/authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a> and
 ignores the <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> argument.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#getIni()">getIni()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#getIni()">getIni()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>
<div class="block">Returns the Ini instance used to configure this realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#getInstance()">getInstance()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AbstractFactory.html#getInstance()">getInstance()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util">AbstractFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#getInterval()">getInterval()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#getJndiEnvironment()">getJndiEnvironment()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Return the JNDI environment to use for JNDI lookups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#getJndiNames()">getJndiNames()</a></span> - Method in class org.apache.shiro.realm.jndi.<a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi">JndiRealmFactory</a></dt>
<dd>
<div class="block">Returns the JNDI names that will be used to look up Realm(s) from JNDI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#getJndiTemplate()">getJndiTemplate()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Return the JNDI template to use for JNDI lookups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getLastAccessTime()">getLastAccessTime()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getLastAccessTime()">getLastAccessTime()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getLastAccessTime()">getLastAccessTime()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getLastAccessTime()">getLastAccessTime()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the last time the application received a request or method invocation from the user associated
 with this session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getLastAccessTime(org.apache.shiro.session.mgt.SessionKey)">getLastAccessTime(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getLastAccessTime(org.apache.shiro.session.mgt.SessionKey)">getLastAccessTime(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns the time the associated <code>Session</code> last interacted with the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)">getLdapContext(Object, Object)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)">getLdapContext(Object, Object)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">This implementation returns an LdapContext based on the configured JNDI/LDAP environment configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)">getLdapContext(Object, Object)</a></span> - Method in interface org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a></dt>
<dd>
<div class="block">Creates (or retrieves from a pool) an <code>LdapContext</code> connection bound using the specified principal and
 credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#getLdapContext(java.lang.String,java.lang.String)">getLdapContext(String, String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">the <a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)"><code>DefaultLdapContextFactory.getLdapContext(Object, Object)</code></a> method should be used in all cases to ensure more than
             String principals and credentials can be used.  Shiro no longer calls this method - it will be
             removed before the 2.0 release.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getLdapContext(java.lang.String,java.lang.String)">getLdapContext(String, String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">the <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)"><code>JndiLdapContextFactory.getLdapContext(Object, Object)</code></a> method should be used in all cases to ensure more than
             String principals and credentials can be used.  Shiro no longer calls this method - it will be
             removed before the 2.0 release.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapContextFactory.html#getLdapContext(java.lang.String,java.lang.String)">getLdapContext(String, String)</a></span> - Method in interface org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">the <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)"><code>LdapContextFactory.getLdapContext(Object, Object)</code></a> method should be used in all cases to ensure more than
 String principals and credentials can be used.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getLdapPrincipal(org.apache.shiro.authc.AuthenticationToken)">getLdapPrincipal(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the principal to use when creating the LDAP connection for an authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#getMajorVersion()">getMajorVersion()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Get the major version code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInvocation.html#getMethod()">getMethod()</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop">MethodInvocation</a></dt>
<dd>
<div class="block">Returns the actual <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect" class="externalLink"><code>Method</code></a> to be invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#getMethodInterceptors()">getMethodInterceptors()</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AnnotationsAuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Returns the method interceptors to execute for the annotated method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#getName()">getName()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#getName()">getName()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/Realm.html#getName()">getName()</a></span> - Method in interface org.apache.shiro.realm.<a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a></dt>
<dd>
<div class="block">Returns the (application-unique) name assigned to this <code>Realm</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#getName(java.lang.String,java.lang.String)">getName(String, String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#getObject(java.lang.String,java.lang.Class)">getObject(String, Class&lt;T&gt;)</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/NamedObjectEnvironment.html#getObject(java.lang.String,java.lang.Class)">getObject(String, Class&lt;T&gt;)</a></span> - Method in interface org.apache.shiro.env.<a href="org/apache/shiro/env/NamedObjectEnvironment.html" title="interface in org.apache.shiro.env">NamedObjectEnvironment</a></dt>
<dd>
<div class="block">Returns the object in Shiro's environment with the specified name and type or <code>null</code> if
 no object with that name was found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getObjectPermissions()">getObjectPermissions()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns all object-based permissions assigned directly to this Account (not any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationInfo.html#getObjectPermissions()">getObjectPermissions()</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a></dt>
<dd>
<div class="block">Returns all type-safe <a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><code>Permission</code></a>s assigned to the corresponding Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#getObjectPermissions()">getObjectPermissions()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#getObjects()">getObjects()</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Returns the live (modifiable) internal objects collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#getParts()">getParts()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#getPassword()">getPassword()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns the password submitted during an authentication attempt as a character array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#getPasswordService()">getPasswordService()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getPermissionResolver()">getPermissionResolver()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns the PermissionResolver to be used on <em>all</em> configured realms, or <code>null</code (the default)
 if all realm instances will each configure their own permission resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getPermissionResolver()">getPermissionResolver()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#getPermissions()">getPermissions()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#getPermissions(java.sql.Connection,java.lang.String,java.util.Collection)">getPermissions(Connection, String, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getPermissions(org.apache.shiro.authz.AuthorizationInfo)">getPermissions(AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/InvalidPermissionStringException.html#getPermissionString()">getPermissionString()</a></span> - Method in exception org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/InvalidPermissionStringException.html" title="class in org.apache.shiro.authz.permission">InvalidPermissionStringException</a></dt>
<dd>
<div class="block">Returns the permission string that was invalid and caused this exception to
 be thrown.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#getPreviousPrincipals()">getPreviousPrincipals()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns the previous 'pre run as' identity of this <code>Subject</code> before assuming the current
 <a href="org/apache/shiro/subject/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getPreviousPrincipals()">getPreviousPrincipals()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#getPrimaryPrincipal()">getPrimaryPrincipal()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns the primary principal used application-wide to uniquely identify the owning account/Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#getPrimaryPrincipal()">getPrimaryPrincipal()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>
<div class="block">Returns the first available principal from any of the <code>Realm</code> principals, or <code>null</code> if there are
 no principals yet.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#getPrimaryPrincipal()">getPrimaryPrincipal()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationToken.html#getPrincipal()">getPrincipal()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a></dt>
<dd>
<div class="block">Returns the account identity submitted during the authentication process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#getPrincipal()">getPrincipal()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#getPrincipal()">getPrincipal()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Simply returns <a href="org/apache/shiro/authc/UsernamePasswordToken.html#getUsername()"><code>getUsername()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#getPrincipal()">getPrincipal()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns this Subject's application-wide uniquely identifying principal, 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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getPrincipal()">getPrincipal()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationInfo.html#getPrincipals()">getPrincipals()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></dt>
<dd>
<div class="block">Returns all principals associated with the corresponding Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getPrincipals()">getPrincipals()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns the principals, aka the identifying attributes (username, user id, first name, last name, etc) of this
 Account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getPrincipals()">getPrincipals()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#getPrincipals()">getPrincipals()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getPrincipals()">getPrincipals()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns the principals (aka identity) that the constructed <code>Subject</code> should reflect.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getPrincipals()">getPrincipals()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getPrincipals()">getPrincipals()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#getPrincipalsLazy(java.lang.String)">getPrincipalsLazy(String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html#getRandom()">getRandom()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">RandomSessionIdGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#getRealmNames()">getRealmNames()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns the realm names that this collection has principals for.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#getRealmNames()">getRealmNames()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#getRealmNames()">getRealmNames()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalMap.html#getRealmPrincipal(java.lang.String,java.lang.String)">getRealmPrincipal(String, String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#getRealmPrincipal(java.lang.String,java.lang.String)">getRealmPrincipal(String, String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalMap.html#getRealmPrincipals(java.lang.String)">getRealmPrincipals(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#getRealmPrincipals(java.lang.String)">getRealmPrincipals(String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#getRealms()">getRealms()</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Returns the realm(s) used by this <code>Authenticator</code> during an authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getRealms()">getRealms()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns the realms wrapped by this <code>Authorizer</code> which are consulted during an authorization check.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#getRealms()">getRealms()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s managed by this SecurityManager instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#getRealms()">getRealms()</a></span> - Method in class org.apache.shiro.realm.jndi.<a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi">JndiRealmFactory</a></dt>
<dd>
<div class="block">Performs the JNDI lookups for each specified <a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#getJndiNames()"><code>JNDI name</code></a> and returns all
 discovered Realms in an ordered collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/RealmFactory.html#getRealms()">getRealms()</a></span> - Method in interface org.apache.shiro.realm.<a href="org/apache/shiro/realm/RealmFactory.html" title="interface in org.apache.shiro.realm">RealmFactory</a></dt>
<dd>
<div class="block">Returns a collection of <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> instances that will be used to construct
 the application's SecurityManager instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getReferral()">getReferral()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the LDAP referral behavior when creating a connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#getReflectionBuilder()">getReflectionBuilder()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns the ReflectionBuilder instance used to create SecurityManagers object graph.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getRememberedIdentity(org.apache.shiro.subject.SubjectContext)">getRememberedIdentity(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Implements the interface method by first <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>acquiring</code></a>
 the remembered serialized byte array.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RememberMeManager.html#getRememberedPrincipals(org.apache.shiro.subject.SubjectContext)">getRememberedPrincipals(SubjectContext)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)">getRememberedSerializedIdentity(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Based on the given subject context data, retrieves the previously persisted serialized identity, or
 <code>null</code> if there is no available data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getRememberMeManager()">getRememberMeManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#getRequiredType()">getRequiredType()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#getResolver()">getResolver()</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Returns the <code>AnnotationResolver</code> to use to acquire annotations from intercepted
 methods at runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#getResourceName()">getResourceName()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#getResourcePath()">getResourcePath()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#getResources()">getResources()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Returns the ThreadLocal Map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#getRole(java.lang.String)">getRole(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#getRoleDefinitions()">getRoleDefinitions()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#getRolename(java.lang.String)">getRolename(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#getRoleNamesForGroups(java.util.Collection)">getRoleNamesForGroups(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>
<div class="block">This method is called by the default implementation to translate Active Directory group names
 to role names.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#getRoleNamesForUser(java.lang.String,javax.naming.ldap.LdapContext)">getRoleNamesForUser(String, LdapContext)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#getRoleNamesForUser(java.sql.Connection,java.lang.String)">getRoleNamesForUser(Connection, String)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#getRolePermissionResolver()">getRolePermissionResolver()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns the RolePermissionResolver to be used on <em>all</em> configured realms, or <code>null</code (the default)
 if all realm instances will each configure their own permission resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#getRolePermissionResolver()">getRolePermissionResolver()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getRoles()">getRoles()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns <code>this.authzInfo.getRoles();</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationInfo.html#getRoles()">getRoles()</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a></dt>
<dd>
<div class="block">Returns the names of all roles assigned to a corresponding Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#getRoles()">getRoles()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#getSalt(org.apache.shiro.authc.AuthenticationToken)">getSalt(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since Shiro 1.1.  Hash salting is now expected to be based on if the <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a>
             returned from the <code>Realm</code> is a <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a> instance and its
             <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html#getCredentialsSalt()"><code>getCredentialsSalt()</code></a> method returns a non-null value.
             This method and the 1.0 behavior still exists for backwards compatibility if the <code>Realm</code> does not return
             <code>SaltedAuthenticationInfo</code> instances, but <b>it is highly recommended that <code>Realm</code> implementations
             that support hashed credentials start returning <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a>
             instances as soon as possible</b>.<p/>
             This is because salts should always be obtained from the stored account information and
             never be interpreted based on user/Subject-entered data.  User-entered data is easier to compromise for
             attackers, whereas account-unique (and secure randomly-generated) salts never disseminated to the end-user
             are almost impossible to break.  This method will be removed in Shiro 2.0.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#getSaltForUser(java.lang.String)">getSaltForUser(String)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#getSecurityManager()">getSecurityManager()</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Returns the application's <code>SecurityManager</code> instance accessible in the backing map using the
 <a href="org/apache/shiro/env/DefaultEnvironment.html#getSecurityManagerName()"><code>securityManagerName</code></a> property as the lookup key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/Environment.html#getSecurityManager()">getSecurityManager()</a></span> - Method in interface org.apache.shiro.env.<a href="org/apache/shiro/env/Environment.html" title="interface in org.apache.shiro.env">Environment</a></dt>
<dd>
<div class="block">Returns the application's <code>SecurityManager</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/SecurityUtils.html#getSecurityManager()">getSecurityManager()</a></span> - Static method in class org.apache.shiro.<a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro">SecurityUtils</a></dt>
<dd>
<div class="block">Returns the SecurityManager accessible to the calling code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getSecurityManager()">getSecurityManager()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns the SecurityManager instance that should be used to back the constructed <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance or
 <code>null</code> if one has not yet been provided to this context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getSecurityManager()">getSecurityManager()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getSecurityManager()">getSecurityManager()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#getSecurityManager()">getSecurityManager()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies retrieval of the application's SecurityManager instance from the current
 thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#getSecurityManagerName()">getSecurityManagerName()</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Returns the name of the <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> instance in the backing map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getSerializer()">getSerializer()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Returns the <code>Serializer</code> used to serialize and deserialize <a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for
 persistent remember me storage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#getSession()">getSession()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns the application <code>Session</code> associated with this Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getSession()">getSession()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns the <code>Session</code> to use when building the <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getSession()">getSession()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getSession()">getSession()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#getSession(boolean)">getSession(boolean)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns the application <code>Session</code> associated with this Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#getSession(boolean)">getSession(boolean)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#getSession(org.apache.shiro.session.mgt.SessionKey)">getSession(SessionKey)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getSession(org.apache.shiro.session.mgt.SessionKey)">getSession(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionManager.html#getSession(org.apache.shiro.session.mgt.SessionKey)">getSession(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt">SessionManager</a></dt>
<dd>
<div class="block">Retrieves the session corresponding to the specified contextual data (such as a session ID if applicable), or
 <code>null</code> if no Session could be found.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#getSessionDAO()">getSessionDAO()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#getSessionFactory()">getSessionFactory()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>
<div class="block">Returns the <code>SessionFactory</code> used to generate new <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#getSessionId()">getSessionId()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionKey.html#getSessionId()">getSessionId()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionKey.html" title="class in org.apache.shiro.session.mgt">DefaultSessionKey</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionContext.html#getSessionId()">getSessionId()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionKey.html#getSessionId()">getSessionId()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionKey.html" title="interface in org.apache.shiro.session.mgt">SessionKey</a></dt>
<dd>
<div class="block">Returns the id of the session to acquire.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getSessionId()">getSessionId()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns the session id of the session that should be associated with the constructed <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getSessionId()">getSessionId()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#getSessionId(org.apache.shiro.session.mgt.SessionKey)">getSessionId(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#getSessionIdGenerator()">getSessionIdGenerator()</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Returns the <code>SessionIdGenerator</code> used by the <a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#generateSessionId(org.apache.shiro.session.Session)"><code>AbstractSessionDAO.generateSessionId(org.apache.shiro.session.Session)</code></a>
 method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getSessionKey(org.apache.shiro.subject.SubjectContext)">getSessionKey(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getSessionListeners()">getSessionListeners()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#getSessionManager()">getSessionManager()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Returns this security manager's internal delegate <a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#getSessionManager()">getSessionManager()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#getSessionStorageEvaluator()">getSessionStorageEvaluator()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Returns the <code>SessionStorageEvaluator</code> that will determine if a <code>Subject</code>'s state may be persisted in
 the Subject's session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#getSessionValidationInterval()">getSessionValidationInterval()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#getSessionValidationScheduler()">getSessionValidationScheduler()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getStartTimestamp()">getStartTimestamp()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getStartTimestamp()">getStartTimestamp()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getStartTimestamp()">getStartTimestamp()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getStartTimestamp()">getStartTimestamp()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the time the session was started; that is, the time the system created the instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getStartTimestamp(org.apache.shiro.session.mgt.SessionKey)">getStartTimestamp(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getStartTimestamp(org.apache.shiro.session.mgt.SessionKey)">getStartTimestamp(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns the time the associated <code>Session</code> started (was created).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#getStopAfterFirstSuccess()">getStopAfterFirstSuccess()</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getStopTimestamp()">getStopTimestamp()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Returns the time the session was stopped, or <tt>null</tt> if the session is still active.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#getStoredPassword(org.apache.shiro.authc.AuthenticationInfo)">getStoredPassword(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#getStringPermissions()">getStringPermissions()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns all String-based permissions assigned to this Account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/AuthorizationInfo.html#getStringPermissions()">getStringPermissions()</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz">AuthorizationInfo</a></dt>
<dd>
<div class="block">Returns all string-based permissions assigned to the corresponding Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#getStringPermissions()">getStringPermissions()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationHandler.html#getSubject()">getSubject()</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop">AnnotationHandler</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> associated with the currently-executing code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInterceptorSupport.html#getSubject()">getSubject()</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInterceptorSupport.html" title="class in org.apache.shiro.aop">MethodInterceptorSupport</a></dt>
<dd>
<div class="block">Returns the <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> associated with the currently-executing code.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#getSubject()">getSubject()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>
<div class="block">Returns the currently Subject instance that should be associated with Runnable or Callable instances before
 being dispatched to the target <code>Executor</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/SecurityUtils.html#getSubject()">getSubject()</a></span> - Static method in class org.apache.shiro.<a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro">SecurityUtils</a></dt>
<dd>
<div class="block">Returns the currently accessible <code>Subject</code> available to the calling code depending on
 runtime environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#getSubject()">getSubject()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns any existing <code>Subject</code> that may be in use at the time the new <code>Subject</code> instance is
 being created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#getSubject()">getSubject()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectThreadState.html#getSubject()">getSubject()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support">SubjectThreadState</a></dt>
<dd>
<div class="block">Returns the <code>Subject</code> instance managed by this <code>ThreadState</code> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#getSubject()">getSubject()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies retrieval of a thread-bound Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#getSubjectContext()">getSubjectContext()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Returns the backing context used to build the <code>Subject</code> instance, available to subclasses
 since the <code>context</code> class attribute is marked as <code>private</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectDAO()">getSubjectDAO()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Returns the <code>SubjectDAO</code> responsible for persisting Subject state, typically used after login or when an
 Subject identity is discovered (eg after RememberMe services).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectFactory()">getSubjectFactory()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Returns the <code>SubjectFactory</code> responsible for creating <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instances exposed to the application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#getSubmittedPassword(org.apache.shiro.authc.AuthenticationToken)">getSubmittedPassword(AuthenticationToken)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#getSystemLdapContext()">getSystemLdapContext()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getSystemLdapContext()">getSystemLdapContext()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">This implementation delegates to <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getLdapContext(java.lang.Object,java.lang.Object)"><code>JndiLdapContextFactory.getLdapContext(Object, Object)</code></a> using the
 <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getSystemUsername()"><code>systemUsername</code></a> and <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getSystemPassword()"><code>systemPassword</code></a> properties as
 arguments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapContextFactory.html#getSystemLdapContext()">getSystemLdapContext()</a></span> - Method in interface org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap">LdapContextFactory</a></dt>
<dd>
<div class="block">Creates (or retrieves from a pool) a <code>LdapContext</code> connection bound using the system account, or
 anonymously if no system account is configured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getSystemPassword()">getSystemPassword()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the password of the <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setSystemUsername(java.lang.String)"><code>systemUsername</code></a> that will be used when creating an
 LDAP connection used for authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getSystemUsername()">getSystemUsername()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the system username that will be used when creating an LDAP connection used for authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#getTargetExecutor()">getTargetExecutor()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>
<div class="block">Returns the target Executor instance that will actually execute the subject-associated Runnable instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#getTargetExecutorService()">getTargetExecutorService()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#getTargets()">getTargets()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#getTargetScheduledExecutorService()">getTargetScheduledExecutorService()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInvocation.html#getThis()">getThis()</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop">MethodInvocation</a></dt>
<dd>
<div class="block">Returns the object that holds the current joinpoint's static part.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#getThreadNamePrefix()">getThreadNamePrefix()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#getTimeout()">getTimeout()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#getTimeout()">getTimeout()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#getTimeout()">getTimeout()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#getTimeout()">getTimeout()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Returns the time in milliseconds that the session session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#getTimeout(org.apache.shiro.session.mgt.SessionKey)">getTimeout(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#getTimeout(org.apache.shiro.session.mgt.SessionKey)">getTimeout(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns the time in milliseconds that the associated session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#getTimeout(org.apache.shiro.session.Session)">getTimeout(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>
<div class="block">Subclass template hook in case per-session timeout is not based on
 <a href="org/apache/shiro/session/Session.html#getTimeout()"><code>Session.getTimeout()</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/BearerToken.html#getToken()">getToken()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/BearerToken.html" title="class in org.apache.shiro.authc">BearerToken</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#getTypedValue(java.lang.String,java.lang.Class)">getTypedValue(String, Class&lt;E&gt;)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>
<div class="block">Performs a <a href="org/apache/shiro/util/MapContext.html#get(java.lang.Object)"><code>get</code></a> operation but additionally ensures that the value returned is of the specified
 <code>type</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getUrl()">getUrl()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns the LDAP url to connect to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#getUser(java.lang.String)">getUser(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#getUserDefinitions()">getUserDefinitions()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getUserDn(java.lang.String)">getUserDn(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the LDAP User Distinguished Name (DN) to use when acquiring an
 <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/ldap/LdapContext.html?is-external=true" title="class or interface in javax.naming.ldap" class="externalLink"><code>LdapContext</code></a> from the <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getUserDnPrefix()">getUserDnPrefix()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the User DN prefix to use when building a runtime User DN value or <code>null</code> if no
 <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getUserDnTemplate()"><code>userDnTemplate</code></a> has been configured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getUserDnSuffix()">getUserDnSuffix()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the User DN suffix to use when building a runtime User DN value.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getUserDnTemplate()">getUserDnTemplate()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Returns the User Distinguished Name (DN) template to use when creating User DNs at runtime - see the
 <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#setUserDnTemplate(java.lang.String)"><code>setUserDnTemplate</code></a> JavaDoc for a full explanation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#getUsername()">getUsername()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns the username submitted during an authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#getUsername(java.lang.String)">getUsername(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#getUsername(org.apache.shiro.authc.SimpleAccount)">getUsername(SimpleAccount)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#getUsername(org.apache.shiro.subject.PrincipalCollection)">getUsername(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#getVersion()">getVersion()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Return the full Java version string, as returned by
 <code>System.getProperty("java.version")</code>.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/GuestAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">GuestAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresGuest.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresGuest</code></a> annotation
 is declared, and if so, ensures the calling <code>Subject</code> does <em>not</em>
 have an <a href="org/apache/shiro/subject/Subject.html#getPrincipal()"><code>identity</code></a> before invoking the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/GuestAnnotationHandler.html#%3Cinit%3E()">GuestAnnotationHandler()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/GuestAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">GuestAnnotationHandler</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for

 <a href="org/apache/shiro/authz/annotation/RequiresGuest.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresGuest</code></a> annotations in a method
 declaration.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/GuestAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">GuestAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresGuest.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresGuest</code></a> annotation
 is declared, and if so, ensures the calling <code>Subject</code> does <em>not</em>
 have an <a href="org/apache/shiro/subject/Subject.html#getPrincipal()"><code>identity</code></a> before invoking the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/GuestAnnotationMethodInterceptor.html#%3Cinit%3E()">GuestAnnotationMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/GuestAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">GuestAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for
 <a href="org/apache/shiro/authz/annotation/RequiresGuest.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresGuest</code></a> annotations in a method
 declaration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/GuestAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationResolver)">GuestAnnotationMethodInterceptor(AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/GuestAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">GuestAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#hasAllRoles(java.util.Collection)">hasAllRoles(Collection&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject has all of the specified roles, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#hasAllRoles(java.util.Collection)">hasAllRoles(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has all of the specified roles, <tt>false</tt> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> iff any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">hasAllRoles(PrincipalCollection, Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">If the <a href="org/apache/shiro/authc/SimpleAccount.html#getPrincipals()"><code>principals</code></a> are not null, returns <code>principals.hashCode()</code>, otherwise
 returns 0 (zero).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Returns the hashcode of the internal <a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getPrincipals()"><code>principals</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Returns the hashCode.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#hashCode()">hashCode()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">HashedCredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">A <code>HashedCredentialMatcher</code> provides support for hashing of supplied <code>AuthenticationToken</code> credentials
 before being compared to those in the <code>AuthenticationInfo</code> from the data store.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#%3Cinit%3E()">HashedCredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">JavaBeans-compatible no-arg constructor intended for use in IoC/Dependency Injection environments.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#%3Cinit%3E(java.lang.String)">HashedCredentialsMatcher(String)</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Creates an instance using the specified <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#getHashAlgorithmName()"><code>hashAlgorithmName</code></a> to hash submitted
 credentials.</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/HashingPasswordService.html" title="interface in org.apache.shiro.authc.credential"><span class="typeNameLink">HashingPasswordService</span></a> - Interface in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">A <code>HashingPasswordService</code> is a <a href="org/apache/shiro/authc/credential/PasswordService.html" title="interface in org.apache.shiro.authc.credential"><code>PasswordService</code></a> that performs password encryption and comparisons
 based on cryptographic <code>Hash</code>es.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#hashPassword(java.lang.Object)">hashPassword(Object)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashingPasswordService.html#hashPassword(java.lang.Object)">hashPassword(Object)</a></span> - Method in interface org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashingPasswordService.html" title="interface in org.apache.shiro.authc.credential">HashingPasswordService</a></dt>
<dd>
<div class="block">Hashes the specified plaintext password using internal hashing configuration settings pertinent to password
 hashing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#hashProvidedCredentials(java.lang.Object,java.lang.Object,int)">hashProvidedCredentials(Object, Object, int)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Hashes the provided credentials a total of <code>hashIterations</code> times, using the given salt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#hashProvidedCredentials(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">hashProvidedCredentials(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Hash the provided <code>token</code>'s credentials using the salt stored with the account if the
 <code>info</code> instance is an <code>instanceof</code> <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a> (see
 the class-level JavaDoc for why this is the preferred approach).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#hasPrincipals()">hasPrincipals()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#hasRole(java.lang.String)">hasRole(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject has the specified role, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#hasRole(java.lang.String)">hasRole(String)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)">hasRole(String, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole(PrincipalCollection, String)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user has the specified role, <tt>false</tt> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#hasRole(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">hasRole(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#hasRoles(java.util.List)">hasRoles(List&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Checks if this Subject has the specified roles, returning a boolean array indicating
 which roles are associated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#hasRoles(java.util.List)">hasRoles(List&lt;String&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#hasRoles(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">hasRoles(List&lt;String&gt;, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles(PrincipalCollection, List&lt;String&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles(PrincipalCollection, List&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Calls <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles(PrincipalCollection, List&lt;String&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#hasRoles(org.apache.shiro.subject.PrincipalCollection,java.util.List)">hasRoles(PrincipalCollection, List&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#host">host</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#host(java.lang.String)">host(String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Ensures the <code>Subject</code> being built will reflect the specified host name or IP as its originating
 location.</div>
</dd>
<dt><a href="org/apache/shiro/authc/HostAuthenticationToken.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">HostAuthenticationToken</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">A <code>HostAuthenticationToken</code> retains the host information from where
 an authentication attempt originates.</div>
</dd>
<dt><a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">HostUnauthorizedException</span></a> - Exception in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">Thrown when a particular client (that is, host address) has not been enabled to access the system
 or if the client has been enabled access but is not permitted to perform a particular operation
 or access a particular resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#%3Cinit%3E()">HostUnauthorizedException()</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Creates a new HostUnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#%3Cinit%3E(java.lang.String)">HostUnauthorizedException(String)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new HostUnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">HostUnauthorizedException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new HostUnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#%3Cinit%3E(java.lang.Throwable)">HostUnauthorizedException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new HostUnauthorizedException.</div>
</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">ImmutableProxiedSession</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Implementation of the <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> interface that proxies another <code>Session</code>, but does not
 allow any 'write' operations to the underlying session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#%3Cinit%3E(org.apache.shiro.session.Session)">ImmutableProxiedSession(Session)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Constructs a new instance of this class proxying the specified <code>Session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/AllPermission.html#implies(org.apache.shiro.authz.Permission)">implies(Permission)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/AllPermission.html" title="class in org.apache.shiro.authz.permission">AllPermission</a></dt>
<dd>
<div class="block">Always returns <tt>true</tt>, indicating any Subject granted this permission can do anything.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Permission.html#implies(org.apache.shiro.authz.Permission)">implies(Permission)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz">Permission</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this current instance <em>implies</em> all the functionality and/or resource access
 described by the specified <code>Permission</code> argument, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#implies(org.apache.shiro.authz.Permission)">implies(Permission)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">IncorrectCredentialsException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown when attempting to authenticate with credential(s) that do not match the actual
 credentials associated with the account principal.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/IncorrectCredentialsException.html#%3Cinit%3E()">IncorrectCredentialsException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc">IncorrectCredentialsException</a></dt>
<dd>
<div class="block">Creates a new IncorrectCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/IncorrectCredentialsException.html#%3Cinit%3E(java.lang.String)">IncorrectCredentialsException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc">IncorrectCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new IncorrectCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/IncorrectCredentialsException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">IncorrectCredentialsException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc">IncorrectCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new IncorrectCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/IncorrectCredentialsException.html#%3Cinit%3E(java.lang.Throwable)">IncorrectCredentialsException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc">IncorrectCredentialsException</a></dt>
<dd>
<div class="block">Constructs a new IncorrectCredentialsException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#INI_REALM_NAME">INI_REALM_NAME</a></span> - Static variable in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config"><span class="typeNameLink">IniFactorySupport</span></a>&lt;<a href="org/apache/shiro/config/IniFactorySupport.html" title="type parameter in IniFactorySupport">T</a>&gt; - Class in <a href="org/apache/shiro/config/package-summary.html">org.apache.shiro.config</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use Shiro's <code>Environment</code> mechanisms instead.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#%3Cinit%3E()">IniFactorySupport()</a></span> - Constructor for class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#%3Cinit%3E(org.apache.shiro.config.Ini)">IniFactorySupport(Ini)</a></span> - Constructor for class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text"><span class="typeNameLink">IniRealm</span></a> - Class in <a href="org/apache/shiro/realm/text/package-summary.html">org.apache.shiro.realm.text</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> implementation that creates
 <a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc"><code>SimpleAccount</code></a> instances based on
 <code>Ini</code> configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#%3Cinit%3E()">IniRealm()</a></span> - Constructor for class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#%3Cinit%3E(java.lang.String)">IniRealm(String)</a></span> - Constructor for class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>
<div class="block">This constructor will immediately process the definitions in the <code>Ini</code> resolved from the specified
 <code>resourcePath</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#%3Cinit%3E(org.apache.shiro.config.Ini)">IniRealm(Ini)</a></span> - Constructor for class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>
<div class="block">This constructor will immediately process the definitions in the <code>Ini</code> argument.</div>
</dd>
<dt><a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config"><span class="typeNameLink">IniSecurityManagerFactory</span></a> - Class in <a href="org/apache/shiro/config/package-summary.html">org.apache.shiro.config</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">use Shiro's <code>Environment</code> mechanisms instead.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#%3Cinit%3E()">IniSecurityManagerFactory()</a></span> - Constructor for class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Creates a new instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#%3Cinit%3E(java.lang.String)">IniSecurityManagerFactory(String)</a></span> - Constructor for class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#%3Cinit%3E(org.apache.shiro.config.Ini)">IniSecurityManagerFactory(Ini)</a></span> - Constructor for class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#init()">init()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Initializes this realm and potentially enables an authentication cache, depending on configuration.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/InvalidPermissionStringException.html" title="class in org.apache.shiro.authz.permission"><span class="typeNameLink">InvalidPermissionStringException</span></a> - Exception in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">Thrown by <a href="org/apache/shiro/authz/permission/PermissionResolver.html#resolvePermission(java.lang.String)"><code>PermissionResolver.resolvePermission(String)</code></a> when the String being parsed is not
 valid for that resolver.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/InvalidPermissionStringException.html#%3Cinit%3E(java.lang.String,java.lang.String)">InvalidPermissionStringException(String, String)</a></span> - Constructor for exception org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/InvalidPermissionStringException.html" title="class in org.apache.shiro.authz.permission">InvalidPermissionStringException</a></dt>
<dd>
<div class="block">Constructs a new exception with the given message and permission string.</div>
</dd>
<dt><a href="org/apache/shiro/dao/InvalidResourceUsageException.html" title="class in org.apache.shiro.dao"><span class="typeNameLink">InvalidResourceUsageException</span></a> - Exception in <a href="org/apache/shiro/dao/package-summary.html">org.apache.shiro.dao</a></dt>
<dd>
<div class="block">Root exception indicating invalid or incorrect usage of a data access resource.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/dao/InvalidResourceUsageException.html#%3Cinit%3E(java.lang.String)">InvalidResourceUsageException(String)</a></span> - Constructor for exception org.apache.shiro.dao.<a href="org/apache/shiro/dao/InvalidResourceUsageException.html" title="class in org.apache.shiro.dao">InvalidResourceUsageException</a></dt>
<dd>
<div class="block">Constructs an InvalidResourceUsageException with a message explaining the cause of the exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/dao/InvalidResourceUsageException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InvalidResourceUsageException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.dao.<a href="org/apache/shiro/dao/InvalidResourceUsageException.html" title="class in org.apache.shiro.dao">InvalidResourceUsageException</a></dt>
<dd>
<div class="block">Constructs a InvalidResourceUsageException with a message explaining the cause of the exception.</div>
</dd>
<dt><a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session"><span class="typeNameLink">InvalidSessionException</span></a> - Exception in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Exception thrown when attempting to interact with the system under an established session
 when that session is considered invalid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/InvalidSessionException.html#%3Cinit%3E()">InvalidSessionException()</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</a></dt>
<dd>
<div class="block">Creates a new InvalidSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/InvalidSessionException.html#%3Cinit%3E(java.lang.String)">InvalidSessionException(String)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</a></dt>
<dd>
<div class="block">Constructs a new InvalidSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/InvalidSessionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">InvalidSessionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</a></dt>
<dd>
<div class="block">Constructs a new InvalidSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/InvalidSessionException.html#%3Cinit%3E(java.lang.Throwable)">InvalidSessionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</a></dt>
<dd>
<div class="block">Constructs a new InvalidSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInterceptor.html#invoke(org.apache.shiro.aop.MethodInvocation)">invoke(MethodInvocation)</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInterceptor.html" title="interface in org.apache.shiro.aop">MethodInterceptor</a></dt>
<dd>
<div class="block">Invokes the specified <code>MethodInvocation</code>, allowing implementations to perform pre/post/finally
 surrounding the actual invocation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#invoke(org.apache.shiro.aop.MethodInvocation)">invoke(MethodInvocation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Ensures the <code>methodInvocation</code> is allowed to execute first before proceeding by calling the
 <a href="org/apache/shiro/authz/aop/AuthorizingAnnotationMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)"><code>assertAuthorized</code></a> method first.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html#invoke(org.apache.shiro.aop.MethodInvocation)">invoke(MethodInvocation)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Invokes the specified method (<code>methodInvocation.<a href="org/apache/shiro/aop/MethodInvocation.html#proceed()"><code>proceed</code></a>()</code>
 if authorization is allowed by first
 calling <a href="org/apache/shiro/authz/aop/AuthorizingMethodInterceptor.html#assertAuthorized(org.apache.shiro.aop.MethodInvocation)"><code>assertAuthorized</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#invokeAll(java.util.Collection)">invokeAll(Collection&lt;? extends Callable&lt;T&gt;&gt;)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#invokeAll(java.util.Collection,long,java.util.concurrent.TimeUnit)">invokeAll(Collection&lt;? extends Callable&lt;T&gt;&gt;, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#invokeAny(java.util.Collection)">invokeAny(Collection&lt;? extends Callable&lt;T&gt;&gt;)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#invokeAny(java.util.Collection,long,java.util.concurrent.TimeUnit)">invokeAny(Collection&lt;? extends Callable&lt;T&gt;&gt;, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#isAtLeastVersion14()">isAtLeastVersion14()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Convenience method to determine if the current JVM is at least Java 1.4.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#isAtLeastVersion15()">isAtLeastVersion15()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Convenience method to determine if the current JVM is at least
 Java 1.5 (Java 5).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#isAtLeastVersion16()">isAtLeastVersion16()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Convenience method to determine if the current JVM is at least
 Java 1.6 (Java 6).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isAuthenticated()">isAuthenticated()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject/user proved their identity <em>during their current session</em>
 by providing valid credentials matching those known to the system, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#isAuthenticated()">isAuthenticated()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the constructed <code>Subject</code> should be considered authenticated, <code>false</code>
 otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#isAuthenticated()">isAuthenticated()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isAuthenticated()">isAuthenticated()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#isAuthenticationCachingEnabled()">isAuthenticationCachingEnabled()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns <code>true</code> if authentication caching should be utilized if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#isAuthenticationCachingEnabled(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">isAuthenticationCachingEnabled(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Returns <code>true</code> if authentication caching should be utilized based on the specified
 <a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> and/or <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isAuthorizationCachingEnabled()">isAuthorizationCachingEnabled()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Returns <code>true</code> if authorization caching should be utilized if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#isAutoApplyRealms(org.apache.shiro.mgt.SecurityManager)">isAutoApplyRealms(SecurityManager)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#isCachingEnabled()">isCachingEnabled()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Returns <code>true</code> if caching should be used if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/RegExPatternMatcher.html#isCaseInsensitive()">isCaseInsensitive()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/RegExPatternMatcher.html" title="class in org.apache.shiro.util">RegExPatternMatcher</a></dt>
<dd>
<div class="block">Returns true if regex match should be case-insensitive.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html#isCaseSensitive()">isCaseSensitive()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission">WildcardPermissionResolver</a></dt>
<dd>
<div class="block">Return true if this resolver produces case sensitive permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#isCredentialsExpired()">isCredentialsExpired()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns whether or not the Account's credentials are expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#isDeleteInvalidSessions()">isDeleteInvalidSessions()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>
<div class="block">Returns <code>true</code> if sessions should be automatically deleted after they are discovered to be invalid,
 <code>false</code> if invalid sessions will be manually deleted by some process external to Shiro's control.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#isEmpty()">isEmpty()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this collection is empty, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#isEmpty()">isEmpty()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#isEmpty()">isEmpty()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#isEmpty()">isEmpty()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#isEmpty(java.util.Collection)">isEmpty(Collection)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified <code>Collection</code> is <code>null</code> or <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#isEmpty()" title="class or interface in java.util" class="externalLink"><code>empty</code></a>,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#isEmpty(java.util.Map)">isEmpty(Map)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified <code>Map</code> is <code>null</code> or <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#isEmpty()" title="class or interface in java.util" class="externalLink"><code>empty</code></a>,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#isEmpty(org.apache.shiro.subject.PrincipalCollection)">isEmpty(PrincipalCollection)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use PrincipalCollection.isEmpty() directly.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#isEnabled()">isEnabled()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html#isEnabled()">isEnabled()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt">SessionValidationScheduler</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Scheduler is enabled and ready to begin validation at the appropriate time,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#isExpired()">isExpired()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Returns true if this session has expired, false otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#isHashSalted()">isHashSalted()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since Shiro 1.1.  Hash salting is now expected to be based on if the <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a>
             returned from the <code>Realm</code> is a <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a> instance and its
             <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html#getCredentialsSalt()"><code>getCredentialsSalt()</code></a> method returns a non-null value.
             This method and the 1.0 behavior still exists for backwards compatibility if the <code>Realm</code> does not return
             <code>SaltedAuthenticationInfo</code> instances, but <b>it is highly recommended that <code>Realm</code> implementations
             that support hashed credentials start returning <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a>
             instances as soon as possible</b>.
             <p/>
             This is because salts should always be obtained from the stored account information and
             never be interpreted based on user/Subject-entered data.  User-entered data is easier to compromise for
             attackers, whereas account-unique (and secure randomly-generated) salts never disseminated to the end-user
             are almost impossible to break.  This method will be removed in Shiro 2.0.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#isLocked()">isLocked()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Account is locked and thus cannot be used to login, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#isPattern(java.lang.String)">isPattern(String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>
<div class="block">Checks if <code>path</code> is a pattern (i.e.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermitted(java.lang.String)">isPermitted(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject is permitted to perform an action or access a resource summarized by the
 specified permission string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermitted(java.lang.String)">isPermitted(String)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermitted(java.lang.String...)">isPermitted(String...)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Checks if this Subject implies the given permission strings and returns a boolean array indicating which
 permissions are implied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermitted(java.lang.String...)">isPermitted(String...)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermitted(java.util.List)">isPermitted(List&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Checks if this Subject implies the given Permissions and returns a boolean array indicating which permissions
 are implied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermitted(java.util.List)">isPermitted(List&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(java.util.List,org.apache.shiro.authz.AuthorizationInfo)">isPermitted(List&lt;Permission&gt;, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#isPermitted(org.apache.shiro.authz.Permission)">isPermitted(Permission)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermitted(org.apache.shiro.authz.Permission)">isPermitted(Permission)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject is permitted to perform an action or access a resource summarized by the
 specified permission.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermitted(org.apache.shiro.authz.Permission)">isPermitted(Permission)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)">isPermitted(Permission, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted(PrincipalCollection, String)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String)">isPermitted(PrincipalCollection, String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted(PrincipalCollection, String...)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Checks if the corresponding Subject implies the given permission strings and returns a boolean array
 indicating which permissions are implied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermitted(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted(PrincipalCollection, List&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Checks if the corresponding Subject/user implies the given Permissions and returns a boolean array indicating
 which permissions are implied.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted(PrincipalCollection, List&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted(PrincipalCollection, List&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)">isPermitted(PrincipalCollection, List&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted(PrincipalCollection, Permission)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)">isPermitted(PrincipalCollection, Permission)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermittedAll(java.lang.String...)">isPermittedAll(String...)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject implies all of the specified permission strings, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermittedAll(java.lang.String...)">isPermittedAll(String...)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isPermittedAll(java.util.Collection)">isPermittedAll(Collection&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject implies all of the specified permissions, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isPermittedAll(java.util.Collection)">isPermittedAll(Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermittedAll(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)">isPermittedAll(Collection&lt;Permission&gt;, AuthorizationInfo)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll(PrincipalCollection, String...)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permission strings,
 <tt>false</tt> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.lang.String...)">isPermittedAll(PrincipalCollection, String...)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/Authorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in interface org.apache.shiro.authz.<a href="org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if the corresponding Subject/user implies all of the specified permissions, <tt>false</tt>
 otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any of the configured realms'
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)">isPermittedAll(PrincipalCollection, Collection&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#isPoolingConnections(java.lang.Object)">isPoolingConnections(Object)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns <code>true</code> if LDAP connection pooling should be used when acquiring a connection based on the specified
 account principal, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#isPoolingEnabled()">isPoolingEnabled()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Returns whether or not connection pooling should be used when possible and appropriate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isRemembered()">isRemembered()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this <code>Subject</code> has an identity (it is not anonymous) and the identity
 (aka <a href="org/apache/shiro/subject/Subject.html#getPrincipals()"><code>principals</code></a>) is remembered from a successful authentication during a previous
 session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isRemembered()">isRemembered()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/RememberMeAuthenticationToken.html#isRememberMe()">isRememberMe()</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc">RememberMeAuthenticationToken</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the submitting user wishes their identity (principal(s)) to be remembered
 across sessions, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#isRememberMe()">isRememberMe()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if the submitting user wishes their identity (principal(s)) to be remembered
 across sessions, <tt>false</tt> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#isRememberMe(org.apache.shiro.authc.AuthenticationToken)">isRememberMe(AuthenticationToken)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Determines whether or not remember me services should be performed for the specified token.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#isResourceRef()">isResourceRef()</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Return whether the lookup occurs in a J2EE container.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#isRolename(java.lang.String)">isRolename(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#isRunAs()">isRunAs()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this <code>Subject</code> is 'running as' another identity other than its original one or
 <code>false</code> otherwise (normal <code>Subject</code> state).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isRunAs()">isRunAs()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#isSessionCreationEnabled()">isSessionCreationEnabled()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the constructed <code>Subject</code> should be allowed to create a session, <code>false</code>
 otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#isSessionCreationEnabled()">isSessionCreationEnabled()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#isSessionCreationEnabled()">isSessionCreationEnabled()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this Subject is allowed to create sessions, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html#isSessionStorageEnabled()">isSessionStorageEnabled()</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt">DefaultSessionStorageEvaluator</a></dt>
<dd>
<div class="block">Returns <code>true</code> if any Subject's <code>Session</code> may be used to persist that <code>Subject</code>'s state,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt">DefaultSessionStorageEvaluator</a></dt>
<dd>
<div class="block">This implementation functions as follows:
 
 If the specified Subject already has an existing <code>Session</code> (typically because an application developer
 has called <code>subject.getSession()</code> already), Shiro will use that existing session to store subject state.
 If a Subject does not yet have a Session, this implementation checks the
 <a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html#isSessionStorageEnabled()"><code>sessionStorageEnabled</code></a> property:
 
 If <code>sessionStorageEnabled</code> is true (the default setting), a new session may be created to persist
 Subject state if necessary.
 If <code>sessionStorageEnabled</code> is <code>false</code>, a new session will <em>not</em> be created to persist
 session state.
 
 
 Most applications use Sessions and are OK with the default <code>true</code> setting for <code>sessionStorageEnabled</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Determines if the subject's session will be used to persist subject state or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionStorageEvaluator.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled(Subject)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionStorageEvaluator.html" title="interface in org.apache.shiro.mgt">SessionStorageEvaluator</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the specified <code>Subject</code>'s
 <a href="org/apache/shiro/subject/Subject.html#getSession()"><code>session</code></a> may be used to persist that Subject's
 state, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#isSessionValidationSchedulerEnabled()">isSessionValidationSchedulerEnabled()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#isShutdown()">isShutdown()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AbstractFactory.html#isSingleton()">isSingleton()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util">AbstractFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#isStopped()">isStopped()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#isStoredCredentialsHexEncoded()">isStoredCredentialsHexEncoded()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the system's stored credential hash is Hex encoded, <code>false</code> if it
 is Base64 encoded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#isTerminated()">isTerminated()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#isTimedOut()">isTimedOut()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Determines if this session is expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#isUsername(java.lang.String)">isUsername(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#isValid()">isValid()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ValidatingSession.html#isValid()">isValid()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#isValid(org.apache.shiro.session.mgt.SessionKey)">isValid(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#isValid(org.apache.shiro.session.mgt.SessionKey)">isValid(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the associated session is valid (it exists and is not stopped nor expired),
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#iterator()">iterator()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#iterator()">iterator()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_13">JAVA_13</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.3.x JVM (JDK 1.3).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_14">JAVA_14</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.4.x JVM (J2SE 1.4).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_15">JAVA_15</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.5 JVM (Java 5).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_16">JAVA_16</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.6 JVM (Java 6).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_17">JAVA_17</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.7 JVM.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#JAVA_18">JAVA_18</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Constant identifying the 1.8 JVM.</div>
</dd>
<dt><a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util"><span class="typeNameLink">JavaEnvironment</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This class is no longer used in Shiro and will be removed in the next major version.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/JavaEnvironment.html#%3Cinit%3E()">JavaEnvironment()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/JavaEnvironment.html" title="class in org.apache.shiro.util">JavaEnvironment</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">JavaUuidSessionIdGenerator</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block"><a href="org/apache/shiro/session/mgt/eis/SessionIdGenerator.html" title="interface in org.apache.shiro.session.mgt.eis"><code>SessionIdGenerator</code></a> that generates String values of JDK <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>UUID</code></a>'s as the session IDs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html#%3Cinit%3E()">JavaUuidSessionIdGenerator()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/JavaUuidSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">JavaUuidSessionIdGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc"><span class="typeNameLink">JdbcRealm</span></a> - Class in <a href="org/apache/shiro/realm/jdbc/package-summary.html">org.apache.shiro.realm.jdbc</a></dt>
<dd>
<div class="block">Realm that allows authentication and authorization via JDBC calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#%3Cinit%3E()">JdbcRealm()</a></span> - Constructor for class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc"><span class="typeNameLink">JdbcRealm.SaltStyle</span></a> - Enum in <a href="org/apache/shiro/realm/jdbc/package-summary.html">org.apache.shiro.realm.jdbc</a></dt>
<dd>
<div class="block">Password hash salt configuration.</div>
</dd>
<dt><a href="org/apache/shiro/util/JdbcUtils.html" title="class in org.apache.shiro.util"><span class="typeNameLink">JdbcUtils</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">A set of static helper methods for managing JDBC API objects.</div>
</dd>
<dt><a href="org/apache/shiro/jndi/JndiCallback.html" title="interface in org.apache.shiro.jndi"><span class="typeNameLink">JndiCallback</span></a> - Interface in <a href="org/apache/shiro/jndi/package-summary.html">org.apache.shiro.jndi</a></dt>
<dd>
<div class="block">Callback interface to be implemented by classes that need to perform an
 operation (such as a lookup) in a JNDI context.</div>
</dd>
<dt><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">JndiLdapContextFactory</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="block"><a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a> implementation using the default Sun/Oracle JNDI Ldap API, utilizing JNDI
 environment properties and an <a href="https://docs.oracle.com/javase/8/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming" class="externalLink"><code>InitialContext</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#%3Cinit%3E()">JndiLdapContextFactory()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Default no-argument constructor that initializes the backing <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#getEnvironment()"><code>environment template</code></a> with
 the <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setContextFactoryClassName(java.lang.String)"><code>contextFactoryClassName</code></a> equal to
 <code>com.sun.jndi.ldap.LdapCtxFactory</code> (the Sun/Oracle default) and the default
 <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setReferral(java.lang.String)"><code>referral</code></a> behavior to <code>follow</code>.</div>
</dd>
<dt><a href="org/apache/shiro/realm/ldap/JndiLdapRealm.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">JndiLdapRealm</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Renamed to <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap"><code>DefaultLdapRealm</code></a>, this class will be removed prior to 2.0</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapRealm.html#%3Cinit%3E()">JndiLdapRealm()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapRealm.html" title="class in org.apache.shiro.realm.ldap">JndiLdapRealm</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi"><span class="typeNameLink">JndiLocator</span></a> - Class in <a href="org/apache/shiro/jndi/package-summary.html">org.apache.shiro.jndi</a></dt>
<dd>
<div class="block">Convenient superclass for JNDI accessors, providing "jndiTemplate"
 and "jndiEnvironment" bean properties.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#%3Cinit%3E()">JndiLocator()</a></span> - Constructor for class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi"><span class="typeNameLink">JndiObjectFactory</span></a>&lt;<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="type parameter in JndiObjectFactory">T</a>&gt; - Class in <a href="org/apache/shiro/jndi/package-summary.html">org.apache.shiro.jndi</a></dt>
<dd>
<div class="block">A factory implementation intended to be used to look up objects in jndi.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#%3Cinit%3E()">JndiObjectFactory()</a></span> - Constructor for class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi"><span class="typeNameLink">JndiRealmFactory</span></a> - Class in <a href="org/apache/shiro/realm/jndi/package-summary.html">org.apache.shiro.realm.jndi</a></dt>
<dd>
<div class="block">Looks up one or more Realm instances from JNDI using specified <a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#setJndiNames(java.util.Collection)"><code>jndiNames</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#%3Cinit%3E()">JndiRealmFactory()</a></span> - Constructor for class org.apache.shiro.realm.jndi.<a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi">JndiRealmFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi"><span class="typeNameLink">JndiTemplate</span></a> - Class in <a href="org/apache/shiro/jndi/package-summary.html">org.apache.shiro.jndi</a></dt>
<dd>
<div class="block">Helper class that simplifies JNDI operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#%3Cinit%3E()">JndiTemplate()</a></span> - Constructor for class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Create a new JndiTemplate instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#%3Cinit%3E(java.util.Properties)">JndiTemplate(Properties)</a></span> - Constructor for class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Create a new JndiTemplate instance, using the given environment.</div>
</dd>
</dl>
<a id="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#keySet()">keySet()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#keySet()">keySet()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><span class="typeNameLink">LdapContextFactory</span></a> - Interface in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="block">Interface that encapsulates the creation of <code>LdapContext</code> objects that are used by <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap"><code>DefaultLdapRealm</code></a>s to
 perform authentication attempts and query for authorization data.</div>
</dd>
<dt><a href="org/apache/shiro/realm/ldap/LdapUtils.html" title="class in org.apache.shiro.realm.ldap"><span class="typeNameLink">LdapUtils</span></a> - Class in <a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a></dt>
<dd>
<div class="block">Utility class providing static methods to make working with LDAP
 easier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/LdapUtils.html#%3Cinit%3E()">LdapUtils()</a></span> - Constructor for class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/LdapUtils.html" title="class in org.apache.shiro.realm.ldap">LdapUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#loadDefaultClassPathIni()">loadDefaultClassPathIni()</a></span> - Static method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns a new Ini instance created from the default <code>classpath:shiro.ini</code> file, or <code>null</code> if
 the file does not exist.</div>
</dd>
<dt><a href="org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">LockedAccountException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">A special kind of <tt>DisabledAccountException</tt>, this exception is thrown when attempting
 to authenticate and the corresponding account has been disabled explicitly due to being locked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/LockedAccountException.html#%3Cinit%3E()">LockedAccountException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc">LockedAccountException</a></dt>
<dd>
<div class="block">Creates a new LockedAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/LockedAccountException.html#%3Cinit%3E(java.lang.String)">LockedAccountException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc">LockedAccountException</a></dt>
<dd>
<div class="block">Constructs a new LockedAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/LockedAccountException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">LockedAccountException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc">LockedAccountException</a></dt>
<dd>
<div class="block">Constructs a new LockedAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/LockedAccountException.html#%3Cinit%3E(java.lang.Throwable)">LockedAccountException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc">LockedAccountException</a></dt>
<dd>
<div class="block">Constructs a new LockedAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/RequiresPermissions.html#logical()">logical()</a></span> - Method in annotation type org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation">RequiresPermissions</a></dt>
<dd>
<div class="block">The logical operation for the permission checks in case multiple roles are specified.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/RequiresRoles.html#logical()">logical()</a></span> - Method in annotation type org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation">RequiresRoles</a></dt>
<dd>
<div class="block">The logical operation for the permission check in case multiple roles are specified.</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/Logical.html" title="enum in org.apache.shiro.authz.annotation"><span class="typeNameLink">Logical</span></a> - Enum in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">An enum for specifying a logical operation that can be used for 
 interpreting authorization annotations</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#login(org.apache.shiro.authc.AuthenticationToken)">login(AuthenticationToken)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Performs a login attempt for this Subject/user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#login(org.apache.shiro.authc.AuthenticationToken)">login(AuthenticationToken)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login(Subject, AuthenticationToken)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">First authenticates the <code>AuthenticationToken</code> argument, and if successful, constructs a
 <code>Subject</code> instance representing the authenticated account's identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login(Subject, AuthenticationToken)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a></dt>
<dd>
<div class="block">Logs in the specified Subject using the given <code>authenticationToken</code>, returning an updated Subject
 instance reflecting the authenticated state if successful or throwing <code>AuthenticationException</code> if it is
 not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#logout()">logout()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Logs out this Subject and invalidates and/or removes any associated entities,
 such as a <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> and authorization data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#logout()">logout()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#logout(org.apache.shiro.subject.Subject)">logout(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SecurityManager.html#logout(org.apache.shiro.subject.Subject)">logout(Subject)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a></dt>
<dd>
<div class="block">Logs out the specified Subject from the system.</div>
</dd>
<dt><a href="org/apache/shiro/authc/LogoutAware.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">LogoutAware</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An SPI interface allowing cleanup logic to be executed during logout of a previously authenticated Subject/user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#lookup(java.lang.String)">lookup(String)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Perform an actual JNDI lookup for the given name via the JndiTemplate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#lookup(java.lang.String)">lookup(String)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Look up the object with the given name in the current JNDI context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#lookup(java.lang.String,java.lang.Class)">lookup(String, Class)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Perform an actual JNDI lookup for the given name via the JndiTemplate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#lookup(java.lang.String,java.lang.Class)">lookup(String, Class)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Look up the object with the given name in the current JNDI context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#lookupSecurityManager()">lookupSecurityManager()</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Looks up the <code>SecurityManager</code> instance in the backing map without performing any non-null guarantees.</div>
</dd>
</dl>
<a id="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#MAIN_SECTION_NAME">MAIN_SECTION_NAME</a></span> - Static variable in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util"><span class="typeNameLink">MapContext</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">A <code>MapContext</code> provides a common base for context-based data storage in a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#%3Cinit%3E()">MapContext()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#%3Cinit%3E(java.util.Map)">MapContext(Map&lt;String, Object&gt;)</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#match(java.lang.String,java.lang.String)">match(String, String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#matches(java.lang.String,java.lang.String)">matches(String, String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/PatternMatcher.html#matches(java.lang.String,java.lang.String)">matches(String, String)</a></span> - Method in interface org.apache.shiro.util.<a href="org/apache/shiro/util/PatternMatcher.html" title="interface in org.apache.shiro.util">PatternMatcher</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the given <code>source</code> matches the specified <code>pattern</code>,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/RegExPatternMatcher.html#matches(java.lang.String,java.lang.String)">matches(String, String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/RegExPatternMatcher.html" title="class in org.apache.shiro.util">RegExPatternMatcher</a></dt>
<dd>
<div class="block">Simple implementation that merely uses the default pattern comparison logic provided by the
 JDK.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#matchStart(java.lang.String,java.lang.String)">matchStart(String, String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/Md2CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Md2CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Md2CredentialsMatcher.html#%3Cinit%3E()">Md2CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Md2CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Md2CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/Md5CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Md5CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Md5CredentialsMatcher.html#%3Cinit%3E()">Md5CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Md5CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Md5CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">MemorySessionDAO</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">Simple memory-based implementation of the SessionDAO that stores all of its sessions in an in-memory
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ConcurrentMap</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#%3Cinit%3E()">MemorySessionDAO()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/MergableAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">MergableAuthenticationInfo</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An extension of the <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> interface to be implemented by
 classes that support merging with other <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/MergableAuthenticationInfo.html#merge(org.apache.shiro.authc.AuthenticationInfo)">merge(AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/MergableAuthenticationInfo.html" title="interface in org.apache.shiro.authc">MergableAuthenticationInfo</a></dt>
<dd>
<div class="block">Merges the given <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> into this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#merge(org.apache.shiro.authc.AuthenticationInfo)">merge(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Merges the specified <code>AuthenticationInfo</code> into this <code>Account</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#merge(org.apache.shiro.authc.AuthenticationInfo)">merge(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Takes the specified <code>info</code> argument and adds its principals and credentials into this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html#merge(org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo)">merge(AuthenticationInfo, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></dt>
<dd>
<div class="block">Merges the specified <code>info</code> argument into the <code>aggregate</code> argument and then returns an
 aggregate for continued use throughout the login process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#merge(org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo)">merge(AuthenticationInfo, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>
<div class="block">Returns the specified <code>aggregate</code> instance if is non null and valid (that is, has principals and they are
 not empty) immediately, or, if it is null or not valid, the <code>info</code> argument is returned instead.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#mergeAuthenticationState(org.apache.shiro.subject.Subject)">mergeAuthenticationState(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Merges the Subject's current authentication state with whatever may be in
 any available session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#mergePrincipals(org.apache.shiro.subject.Subject)">mergePrincipals(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Merges the Subject's current <a href="org/apache/shiro/subject/Subject.html#getPrincipals()"><code>Subject.getPrincipals()</code></a> with whatever may be in
 any available session.</div>
</dd>
<dt><a href="org/apache/shiro/aop/MethodInterceptor.html" title="interface in org.apache.shiro.aop"><span class="typeNameLink">MethodInterceptor</span></a> - Interface in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">A <tt>MethodInterceptor</tt> intercepts a <tt>MethodInvocation</tt> to perform before or after logic (aka 'advice').</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#methodInterceptors">methodInterceptors</a></span> - Variable in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AnnotationsAuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">The method interceptors to execute for the annotated method.</div>
</dd>
<dt><a href="org/apache/shiro/aop/MethodInterceptorSupport.html" title="class in org.apache.shiro.aop"><span class="typeNameLink">MethodInterceptorSupport</span></a> - Class in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">This class is an abstraction of AOP method interceptor behavior specific to Shiro that
 leaves AOP implementation specifics to be handled by subclass implementations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInterceptorSupport.html#%3Cinit%3E()">MethodInterceptorSupport()</a></span> - Constructor for class org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInterceptorSupport.html" title="class in org.apache.shiro.aop">MethodInterceptorSupport</a></dt>
<dd>
<div class="block">Default no-argument constructor for subclasses.</div>
</dd>
<dt><a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop"><span class="typeNameLink">MethodInvocation</span></a> - Interface in <a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a></dt>
<dd>
<div class="block">3rd-party API independent representation of a method invocation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#MILLIS_PER_HOUR">MILLIS_PER_HOUR</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_HOUR">MILLIS_PER_HOUR</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#MILLIS_PER_MINUTE">MILLIS_PER_MINUTE</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_MINUTE">MILLIS_PER_MINUTE</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#MILLIS_PER_SECOND">MILLIS_PER_SECOND</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_SECOND">MILLIS_PER_SECOND</a></span> - Static variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">ModularRealmAuthenticator</span></a> - Class in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block">A <code>ModularRealmAuthenticator</code> delegates account lookups to a pluggable (modular) collection of
 <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#%3Cinit%3E()">ModularRealmAuthenticator()</a></span> - Constructor for class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Default no-argument constructor which
 <a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#setAuthenticationStrategy(org.apache.shiro.authc.pam.AuthenticationStrategy)"><code>enables</code></a>  an
 <a href="org/apache/shiro/authc/pam/AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><code>AtLeastOneSuccessfulStrategy</code></a> by default.</div>
</dd>
<dt><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">ModularRealmAuthorizer</span></a> - Class in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">A <tt>ModularRealmAuthorizer</tt> is an <tt>Authorizer</tt> implementation that consults one or more configured
 <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s during an authorization operation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#%3Cinit%3E()">ModularRealmAuthorizer()</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Default no-argument constructor, does nothing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#%3Cinit%3E(java.util.Collection)">ModularRealmAuthorizer(Collection&lt;Realm&gt;)</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Constructor that accepts the <code>Realm</code>s to consult during an authorization check.</div>
</dd>
<dt><a href="org/apache/shiro/subject/MutablePrincipalCollection.html" title="interface in org.apache.shiro.subject"><span class="typeNameLink">MutablePrincipalCollection</span></a> - Interface in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> that allows modification.</div>
</dd>
</dl>
<a id="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#name">name</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/env/NamedObjectEnvironment.html" title="interface in org.apache.shiro.env"><span class="typeNameLink">NamedObjectEnvironment</span></a> - Interface in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">An environment that supports object lookup by name.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">NativeSessionManager</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A <code>Native</code> session manager is one that manages sessions natively - that is, it is directly responsible
 for the creation, persistence and removal of <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instances and their
 lifecycles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#newHashInstance()">newHashInstance()</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Returns a new, <em>uninitialized</em> instance, without its byte array set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#newSessionInstance(org.apache.shiro.session.mgt.SessionContext)">newSessionInstance(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#newSubjectContextInstance()">newSubjectContextInstance()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Creates a new <code>SubjectContext</code> instance to be used to populate with subject contextual data that
 will then be sent to the <code>SecurityManager</code> to create a new <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectFactory.html#newSubjectInstance(org.apache.shiro.subject.PrincipalCollection,boolean,java.lang.String,org.apache.shiro.session.Session,org.apache.shiro.mgt.SecurityManager)">newSubjectInstance(PrincipalCollection, boolean, String, Session, SecurityManager)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectFactory.html" title="class in org.apache.shiro.mgt">DefaultSubjectFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.2 - override <a href="org/apache/shiro/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="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> class.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#NO_SALT">NO_SALT</a></span> - org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#notifyExpiration(org.apache.shiro.session.Session)">notifyExpiration(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifyFailure(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">notifyFailure(AuthenticationToken, AuthenticationException)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Notifies any registered <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that
 authentication failed for the
 specified <code>token</code> which resulted in the specified <code>ae</code> exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifyLogout(org.apache.shiro.subject.PrincipalCollection)">notifyLogout(PrincipalCollection)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Notifies any registered <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that a
 <code>Subject</code> has logged-out.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#notifyStart(org.apache.shiro.session.Session)">notifyStart(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Notifies any interested <a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session"><code>SessionListener</code></a>s that a Session has started.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#notifyStop(org.apache.shiro.session.Session)">notifyStop(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifySuccess(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">notifySuccess(AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Notifies any registered <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that
 authentication was successful for the specified <code>token</code> which resulted in the specified
 <code>info</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#nullSafePut(java.lang.String,java.lang.Object)">nullSafePut(String, Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>
<div class="block">Places a value in this context map under the given key only if the given <code>value</code> argument is not null.</div>
</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#objectPermissions">objectPermissions</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Collection of all object-based permissions associated with the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#objects">objects</a></span> - Variable in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#onChange(org.apache.shiro.session.Session)">onChange(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#onChange(org.apache.shiro.session.Session)">onChange(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalCollection.html#oneByType(java.lang.Class)">oneByType(Class&lt;T&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></dt>
<dd>
<div class="block">Returns the first discovered principal assignable from the specified type, or <code>null</code> if there are none
 of the specified type.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#oneByType(java.lang.Class)">oneByType(Class&lt;T&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#oneByType(java.lang.Class)">oneByType(Class&lt;T&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#onEquals(org.apache.shiro.session.mgt.SimpleSession)">onEquals(SimpleSession)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Provides an attribute-based comparison (no ID comparison) - incurred <em>only</em> when 'this' or the
 session object being compared for equality do not have a session id.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#onExpiration(org.apache.shiro.session.Session)">onExpiration(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#onExpiration(org.apache.shiro.session.Session)">onExpiration(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListener.html#onExpiration(org.apache.shiro.session.Session)">onExpiration(Session)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session">SessionListener</a></dt>
<dd>
<div class="block">Notification callback that occurs when the corresponding Session has expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListenerAdapter.html#onExpiration(org.apache.shiro.session.Session)">onExpiration(Session)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListenerAdapter.html" title="class in org.apache.shiro.session">SessionListenerAdapter</a></dt>
<dd>
<div class="block">Adapter no-op implementation - does nothing and returns immediately.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#onExpiration(org.apache.shiro.session.Session,org.apache.shiro.session.ExpiredSessionException,org.apache.shiro.session.mgt.SessionKey)">onExpiration(Session, ExpiredSessionException, SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#onFailedLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException,org.apache.shiro.subject.Subject)">onFailedLogin(AuthenticationToken, AuthenticationException, Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin(Subject, AuthenticationToken, AuthenticationException)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Reacts to a failed login by immediately <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any
 previously remembered identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RememberMeManager.html#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin(Subject, AuthenticationToken, AuthenticationException)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></dt>
<dd>
<div class="block">Reacts to a failed authentication attempt, typically by forgetting any previously remembered principals for the
 Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationListener.html#onFailure(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailure(AuthenticationToken, AuthenticationException)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc">AuthenticationListener</a></dt>
<dd>
<div class="block">Callback triggered when an authentication attempt for a <code>Subject</code> has failed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Template method for subclasses to implement any initialization logic.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Initializes this realm and potentially enables a cache, depending on configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#onInit()">onInit()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>
<div class="block">Will call 'processDefinitions' on startup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#onInvalidation(org.apache.shiro.session.Session,org.apache.shiro.session.InvalidSessionException,org.apache.shiro.session.mgt.SessionKey)">onInvalidation(Session, InvalidSessionException, SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout(PrincipalCollection)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">This implementation merely calls
 <a href="org/apache/shiro/authc/AbstractAuthenticator.html#notifyLogout(org.apache.shiro.subject.PrincipalCollection)"><code>notifyLogout</code></a> to allow any registered listeners
 to react to the logout.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationListener.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout(PrincipalCollection)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc">AuthenticationListener</a></dt>
<dd>
<div class="block">Callback triggered when a <code>Subject</code> logs-out of the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/LogoutAware.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout(PrincipalCollection)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/LogoutAware.html" title="interface in org.apache.shiro.authc">LogoutAware</a></dt>
<dd>
<div class="block">Callback triggered when a <code>Subject</code> logs out of the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout(PrincipalCollection)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<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="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#onLogout(org.apache.shiro.subject.PrincipalCollection)">onLogout(PrincipalCollection)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">If caching is enabled, this will clear any cached data associated with the specified account identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#onLogout(org.apache.shiro.subject.Subject)">onLogout(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Reacts to a subject logging out of the application and immediately
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgets</code></a> any previously stored identity and returns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RememberMeManager.html#onLogout(org.apache.shiro.subject.Subject)">onLogout(Subject)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></dt>
<dd>
<div class="block">Reacts to a Subject logging out of the application, typically by forgetting any previously remembered
 principals for the Subject.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#onRememberedPrincipalFailure(java.lang.RuntimeException,org.apache.shiro.subject.SubjectContext)">onRememberedPrincipalFailure(RuntimeException, SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Called when an exception is thrown while trying to retrieve principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListener.html#onStart(org.apache.shiro.session.Session)">onStart(Session)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session">SessionListener</a></dt>
<dd>
<div class="block">Notification callback that occurs when the corresponding Session has started.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListenerAdapter.html#onStart(org.apache.shiro.session.Session)">onStart(Session)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListenerAdapter.html" title="class in org.apache.shiro.session">SessionListenerAdapter</a></dt>
<dd>
<div class="block">Adapter no-op implementation - does nothing and returns immediately.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#onStart(org.apache.shiro.session.Session,org.apache.shiro.session.mgt.SessionContext)">onStart(Session, SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Template method that allows subclasses to react to a new session being created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#onStop(org.apache.shiro.session.Session)">onStop(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#onStop(org.apache.shiro.session.Session)">onStop(Session)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListener.html#onStop(org.apache.shiro.session.Session)">onStop(Session)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session">SessionListener</a></dt>
<dd>
<div class="block">Notification callback that occurs when the corresponding Session has stopped, either programmatically via
 <a href="org/apache/shiro/session/Session.html#stop()"><code>Session.stop()</code></a> or automatically upon a subject logging out.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListenerAdapter.html#onStop(org.apache.shiro.session.Session)">onStop(Session)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListenerAdapter.html" title="class in org.apache.shiro.session">SessionListenerAdapter</a></dt>
<dd>
<div class="block">Adapter no-op implementation - does nothing and returns immediately.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#onStop(org.apache.shiro.session.Session,org.apache.shiro.session.mgt.SessionKey)">onStop(Session, SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AuthenticationListener.html#onSuccess(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccess(AuthenticationToken, AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.authc.<a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc">AuthenticationListener</a></dt>
<dd>
<div class="block">Callback triggered when an authentication attempt for a <code>Subject</code> has succeeded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#onSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">onSuccessfulLogin(AuthenticationToken, AuthenticationInfo, Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin(Subject, AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Reacts to the successful login attempt by first always <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any previously
 stored identity.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RememberMeManager.html#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin(Subject, AuthenticationToken, AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</a></dt>
<dd>
<div class="block">Reacts to a successful authentication attempt, typically saving the principals to be retrieved ('remembered')
 for future system access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/Logical.html#OR">OR</a></span> - org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/Logical.html" title="enum in org.apache.shiro.authz.annotation">Logical</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/package-summary.html">org.apache.shiro</a> - package org.apache.shiro</dt>
<dd>
<div class="block">This package primarily exists as a root classpath distinction, but it does contain two core classes widely used
 by applications, <a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro"><code>SecurityUtils</code></a> and
 <code>ShiroException</code>.</div>
</dd>
<dt><a href="org/apache/shiro/aop/package-summary.html">org.apache.shiro.aop</a> - package org.apache.shiro.aop</dt>
<dd>
<div class="block">Components used to support the framework's AOP/interception support classes.</div>
</dd>
<dt><a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a> - package org.apache.shiro.authc</dt>
<dd>
<div class="block">Core interfaces and exceptions concerning Authentication (the act of logging-in).</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a> - package org.apache.shiro.authc.credential</dt>
<dd>
<div class="block">Support for validating <em>credentials</em> (such as passwords or X509 certificates) during
 authentication via the <a href="org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential"><code>CredentialsMatcher</code></a>
 interface and its supporting implementations.</div>
</dd>
<dt><a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a> - package org.apache.shiro.authc.pam</dt>
<dd>
<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="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s).</div>
</dd>
<dt><a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a> - package org.apache.shiro.authz</dt>
<dd>
<div class="block">Core interfaces and exceptions supporting Authorization (access control).</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a> - package org.apache.shiro.authz.annotation</dt>
<dd>
<div class="block">Annotations used to restrict which classes, instances, or methods may be accessed or invoked depending on the
 caller's access abilities or authentication state.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a> - package org.apache.shiro.authz.aop</dt>
<dd>
<div class="block">Contains AOP implementation support classes specifically used for authorization operations, particularly supporting
 AOP Method Interceptors and JSR-175 metadata Annotations.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a> - package org.apache.shiro.authz.permission</dt>
<dd>
<div class="block">Support and default implementations for Shiro's <a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><code>Permission</code></a>
 interface.</div>
</dd>
<dt><a href="org/apache/shiro/concurrent/package-summary.html">org.apache.shiro.concurrent</a> - package org.apache.shiro.concurrent</dt>
<dd>
<div class="block"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Executor</code></a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ExecutorService</code></a>,
 and <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ScheduledExecutorService</code></a> implementations for transparent
 <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> association with threads in an asynchronous execution environment.</div>
</dd>
<dt><a href="org/apache/shiro/config/package-summary.html">org.apache.shiro.config</a> - package org.apache.shiro.config</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/dao/package-summary.html">org.apache.shiro.dao</a> - package org.apache.shiro.dao</dt>
<dd>
<div class="block">Package containing various components useful when building Data Access Objects (DAOs), including a generic
 Data Access Exception hierarchy.</div>
</dd>
<dt><a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a> - package org.apache.shiro.env</dt>
<dd>
<div class="block">Concepts used to represent Shiro's aggregate state in an application.</div>
</dd>
<dt><a href="org/apache/shiro/jndi/package-summary.html">org.apache.shiro.jndi</a> - package org.apache.shiro.jndi</dt>
<dd>
<div class="block">Enables accessing objects located in JNDI that might be useful when configuring a Shiro-enabled application.</div>
</dd>
<dt><a href="org/apache/shiro/ldap/package-summary.html">org.apache.shiro.ldap</a> - package org.apache.shiro.ldap</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a> - package org.apache.shiro.mgt</dt>
<dd>
<div class="block">Provides the master <a href="org/apache/shiro/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>
</dd>
<dt><a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a> - package org.apache.shiro.realm</dt>
<dd>
<div class="block">Components and sub-packages used in supporting the core <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> interface.</div>
</dd>
<dt><a href="org/apache/shiro/realm/activedirectory/package-summary.html">org.apache.shiro.realm.activedirectory</a> - package org.apache.shiro.realm.activedirectory</dt>
<dd>
<div class="block">Realms that acquire security data from a Microsoft Active Directory.</div>
</dd>
<dt><a href="org/apache/shiro/realm/jdbc/package-summary.html">org.apache.shiro.realm.jdbc</a> - package org.apache.shiro.realm.jdbc</dt>
<dd>
<div class="block">Realms that acquire security data from an RDBMS (Relational Database Management System) using the 
 JDBC API.</div>
</dd>
<dt><a href="org/apache/shiro/realm/jndi/package-summary.html">org.apache.shiro.realm.jndi</a> - package org.apache.shiro.realm.jndi</dt>
<dd>
<div class="block">Support for acquiring Realms from JNDI, particularly useful for configuring Shiro in JEE or EJB environments.</div>
</dd>
<dt><a href="org/apache/shiro/realm/ldap/package-summary.html">org.apache.shiro.realm.ldap</a> - package org.apache.shiro.realm.ldap</dt>
<dd>
<div class="block">Realms that acquire security data from an LDAP (Lightweight Directory Access Protocol) server
 utilizing LDAP/Naming APIs.</div>
</dd>
<dt><a href="org/apache/shiro/realm/text/package-summary.html">org.apache.shiro.realm.text</a> - package org.apache.shiro.realm.text</dt>
<dd>
<div class="block">Realms that acquire security data from text-based data sources such as <code>File</code>s or
 text streams.</div>
</dd>
<dt><a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a> - package org.apache.shiro.session</dt>
<dd>
<div class="block">Components related to managing sessions, the time-based data contexts in which a Subject
 interacts with an application.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a> - package org.apache.shiro.session.mgt</dt>
<dd>
<div class="block"><a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a> components supporting enterprise session management.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a> - package org.apache.shiro.session.mgt.eis</dt>
<dd>
<div class="block">EIS (Enterprise Information System)-tier components that can perform CRUD operations for sessions
 using any EIS API.</div>
</dd>
<dt><a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a> - package org.apache.shiro.subject</dt>
<dd>
<div class="block">Components supporting the <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> interface, the most important concept in
 Shiro's API.</div>
</dd>
<dt><a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a> - package org.apache.shiro.subject.support</dt>
<dd>
<div class="block">Concrete support implementations of most of the <code>org.apache.shiro.subject</code> interfaces.</div>
</dd>
<dt><a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a> - package org.apache.shiro.util</dt>
<dd>
<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>
</dd>
</dl>
<a id="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#PART_DIVIDER_TOKEN">PART_DIVIDER_TOKEN</a></span> - Static variable in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">PasswordMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/authc/credential/CredentialsMatcher.html" title="interface in org.apache.shiro.authc.credential"><code>CredentialsMatcher</code></a> that employs best-practices comparisons for hashed text passwords.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#%3Cinit%3E()">PasswordMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/PasswordService.html" title="interface in org.apache.shiro.authc.credential"><span class="typeNameLink">PasswordService</span></a> - Interface in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">A <code>PasswordService</code> supports common use cases when using passwords as a credentials mechanism.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#passwordsMatch(java.lang.Object,java.lang.String)">passwordsMatch(Object, String)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordService.html#passwordsMatch(java.lang.Object,java.lang.String)">passwordsMatch(Object, String)</a></span> - Method in interface org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordService.html" title="interface in org.apache.shiro.authc.credential">PasswordService</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <code>submittedPlaintext</code> password matches the existing <code>saved</code> password,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#passwordsMatch(java.lang.Object,org.apache.shiro.crypto.hash.Hash)">passwordsMatch(Object, Hash)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashingPasswordService.html#passwordsMatch(java.lang.Object,org.apache.shiro.crypto.hash.Hash)">passwordsMatch(Object, Hash)</a></span> - Method in interface org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashingPasswordService.html" title="interface in org.apache.shiro.authc.credential">HashingPasswordService</a></dt>
<dd>
<div class="block">Returns <code>true</code> if the <code>submittedPlaintext</code> password matches the existing <code>savedPasswordHash</code>,
 <code>false</code> otherwise.</div>
</dd>
<dt><a href="org/apache/shiro/util/PatternMatcher.html" title="interface in org.apache.shiro.util"><span class="typeNameLink">PatternMatcher</span></a> - Interface in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">Interface for components that can match source strings against a specified pattern string.</div>
</dd>
<dt><a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><span class="typeNameLink">Permission</span></a> - Interface in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">A Permission represents the ability to perform an action or access a resource.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">PermissionAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresPermissions</code></a> annotation is
 declared, and if so, performs a permission check to see if the calling <code>Subject</code> is allowed continued
 access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html#%3Cinit%3E()">PermissionAnnotationHandler()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/PermissionAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">PermissionAnnotationHandler</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this handler looks for
 <a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresPermissions</code></a> annotations.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">PermissionAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresPermissions</code></a> annotation is declared, and if so, performs
 a permission check to see if the calling <code>Subject</code> is allowed to call the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html#%3Cinit%3E()">PermissionAnnotationMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">PermissionAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for
 <a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresPermissions</code></a> annotations in a method declaration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationResolver)">PermissionAnnotationMethodInterceptor(AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/PermissionAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">PermissionAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#permissionResolver">permissionResolver</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">A PermissionResolver to be used by <em>all</em> configured realms.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission"><span class="typeNameLink">PermissionResolver</span></a> - Interface in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">A <code>PermisisonResolver</code> resolves a String value and converts it into a
 <a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><code>Permission</code></a> instance.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><span class="typeNameLink">PermissionResolverAware</span></a> - Interface in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">Interface implemented by a component that wishes to use any application-configured <tt>PermissionResolver</tt> that
 might already exist instead of potentially creating one itself.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#permissions">permissions</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#permissionsLookupEnabled">permissionsLookupEnabled</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#permissionsQuery">permissionsQuery</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/util/PermissionUtils.html" title="class in org.apache.shiro.util"><span class="typeNameLink">PermissionUtils</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">Utility class to help with String-to-Permission object resolution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/PermissionUtils.html#%3Cinit%3E()">PermissionUtils()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/PermissionUtils.html" title="class in org.apache.shiro.util">PermissionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><span class="typeNameLink">PrincipalCollection</span></a> - Interface in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">A collection of all principals associated with a corresponding <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a>.</div>
</dd>
<dt><a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject"><span class="typeNameLink">PrincipalMap</span></a> - Interface in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">EXPERIMENTAL - DO NOT USE YET</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#principals">principals</a></span> - Variable in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">The principals identifying the account associated with this AuthenticationInfo instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#principals">principals</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#principals(org.apache.shiro.subject.PrincipalCollection)">principals(PrincipalCollection)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Ensures the <code>Subject</code> being built will reflect the specified principals (aka identity).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#PRINCIPALS_SESSION_KEY">PRINCIPALS_SESSION_KEY</a></span> - Static variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>
<div class="block">The session key that is used to store subject principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#principalSuffix">principalSuffix</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Defines the Suffix added to the User Principal Name when looking up groups (e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#principalSuffix">principalSuffix</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/MethodInvocation.html#proceed()">proceed()</a></span> - Method in interface org.apache.shiro.aop.<a href="org/apache/shiro/aop/MethodInvocation.html" title="interface in org.apache.shiro.aop">MethodInvocation</a></dt>
<dd>
<div class="block">Continues the method invocation chain, or if the last in the chain, the method itself.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#processDefinitions()">processDefinitions()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#processRoleDefinitions()">processRoleDefinitions()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#processRoleDefinitions(java.util.Map)">processRoleDefinitions(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#processUserDefinitions()">processUserDefinitions()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#processUserDefinitions(java.util.Map)">processUserDefinitions(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text"><span class="typeNameLink">PropertiesRealm</span></a> - Class in <a href="org/apache/shiro/realm/text/package-summary.html">org.apache.shiro.realm.text</a></dt>
<dd>
<div class="block">A <a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text"><code>TextConfigurationRealm</code></a> that defers all logic to the parent class, but just enables
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Properties</code></a> based configuration in addition to the parent class's String configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#%3Cinit%3E()">PropertiesRealm()</a></span> - Constructor for class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session"><span class="typeNameLink">ProxiedSession</span></a> - Class in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Simple <code>Session</code> implementation that immediately delegates all corresponding calls to an
 underlying proxied session instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#%3Cinit%3E(org.apache.shiro.session.Session)">ProxiedSession(Session)</a></span> - Constructor for class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Constructs an instance that proxies the specified <code>target</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#publishEvent(java.lang.Object)">publishEvent(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Publishes events on the event bus if the event bus is non-null, otherwise does nothing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#put(java.lang.Object,java.lang.Object)">put(Object, Object)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Binds <tt>value</tt> for the given <code>key</code> to the current thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#put(java.lang.String,java.lang.Object)">put(String, Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#put(java.lang.String,java.lang.Object)">put(String, Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#putAll(java.util.Map)">putAll(Map&lt;? extends String, ?&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#putAll(java.util.Map)">putAll(Map&lt;? extends String, ?&gt;)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:Q">
<!--   -->
</a>
<h2 class="title">Q</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#queryForAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthenticationInfo(AuthenticationToken, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>
<div class="block">Builds an <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> object by querying the active directory LDAP context for the
 specified username.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#queryForAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthenticationInfo(AuthenticationToken, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Abstract method that should be implemented by subclasses to builds an
 <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a> object by querying the LDAP context for the
 specified username.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#queryForAuthenticationInfo(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthenticationInfo(AuthenticationToken, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">This implementation opens an LDAP connection using the token's
 <a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#getLdapPrincipal(org.apache.shiro.authc.AuthenticationToken)"><code>discovered principal</code></a> and provided
 <a href="org/apache/shiro/authc/AuthenticationToken.html#getCredentials()"><code>credentials</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo(PrincipalCollection, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>
<div class="block">Builds an <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo(PrincipalCollection, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Abstract method that should be implemented by subclasses to builds an
 <a href="org/apache/shiro/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#queryForAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.realm.ldap.LdapContextFactory)">queryForAuthorizationInfo(PrincipalCollection, LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Method that should be implemented by subclasses to build an
 <a href="org/apache/shiro/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>
</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">RandomSessionIdGenerator</span></a> - Class in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">Generates session IDs by using a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Random</code></a> instance to generate random IDs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html#%3Cinit%3E()">RandomSessionIdGenerator()</a></span> - Constructor for class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">RandomSessionIdGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#readSession(java.io.Serializable)">readSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Retrieves the Session object from the underlying EIS identified by <tt>sessionId</tt> by delegating to
 the <a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#doReadSession(java.io.Serializable)"><code>AbstractSessionDAO.doReadSession(java.io.Serializable)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#readSession(java.io.Serializable)">readSession(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Attempts to acquire the Session from the cache first using the session ID as the cache key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html#readSession(java.io.Serializable)">readSession(Serializable)</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis">SessionDAO</a></dt>
<dd>
<div class="block">Retrieves the session from the EIS uniquely identified by the specified
 <code>sessionId</code>.</div>
</dd>
<dt><a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><span class="typeNameLink">Realm</span></a> - Interface in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">A <tt>Realm</tt> is a security component that can access application-specific security entities
 such as users, roles, and permissions to determine authentication and authorization operations.</div>
</dd>
<dt><a href="org/apache/shiro/realm/RealmFactory.html" title="interface in org.apache.shiro.realm"><span class="typeNameLink">RealmFactory</span></a> - Interface in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">Enables Shiro end-users to configure and initialize one or more <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> instances
 in any manner desired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#realms">realms</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">The realms to consult during any authorization check.</div>
</dd>
<dt><a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">RealmSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Shiro support of a <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> class hierarchy based around a collection of
 <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#%3Cinit%3E()">RealmSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#rebind(java.lang.String,java.lang.Object)">rebind(String, Object)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Rebind the given object to the current JNDI context, using the given name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#referral">referral</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/util/RegExPatternMatcher.html" title="class in org.apache.shiro.util"><span class="typeNameLink">RegExPatternMatcher</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block"><code>PatternMatcher</code> implementation that uses standard <a href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/package-summary.html?is-external=true" class="externalLink"><code>java.util.regex</code></a> objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/RegExPatternMatcher.html#%3Cinit%3E()">RegExPatternMatcher()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/RegExPatternMatcher.html" title="class in org.apache.shiro.util">RegExPatternMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#releaseRunAs()">releaseRunAs()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#releaseRunAs()">releaseRunAs()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#reloadIntervalSeconds">reloadIntervalSeconds</a></span> - Variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">rememberIdentity(Subject, AuthenticationToken, AuthenticationInfo)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Remembers a subject-unique identity for retrieval later.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)">rememberIdentity(Subject, PrincipalCollection)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Remembers the specified account principals by first
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"><code>converting</code></a> them to a byte
 array and then <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)"><code>remembers</code></a> that
 byte array.</div>
</dd>
<dt><a href="org/apache/shiro/authc/RememberMeAuthenticationToken.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">RememberMeAuthenticationToken</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">An <code>AuthenticationToken</code> that indicates if the user wishes their identity to be remembered across sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeFailedLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException,org.apache.shiro.subject.Subject)">rememberMeFailedLogin(AuthenticationToken, AuthenticationException, Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeLogout(org.apache.shiro.subject.Subject)">rememberMeLogout(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeManager">rememberMeManager</a></span> - Variable in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt"><span class="typeNameLink">RememberMeManager</span></a> - Interface in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A RememberMeManager is responsible for remembering a Subject's identity across that Subject's sessions with
 the application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">rememberMeSuccessfulLogin(AuthenticationToken, AuthenticationInfo, Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)">rememberSerializedIdentity(Subject, byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Persists the identity bytes to a persistent store for retrieval later via the
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>AbstractRememberMeManager.getRememberedSerializedIdentity(SubjectContext)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#remove()">remove()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true#remove()" title="class or interface in java.lang" class="externalLink"><code>Remove</code></a>s the underlying <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>ThreadLocal</code></a> from the thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#remove(java.lang.Object)">remove(Object)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#remove(java.lang.Object)">remove(Object)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Unbinds the value for the given <code>key</code> from the current
 thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#removeAttribute(java.lang.Object)">removeAttribute(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#removeAttribute(java.lang.Object)">removeAttribute(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Immediately <a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()"><code>throws</code></a> an <code>InvalidSessionException</code> in all
 cases because this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#removeAttribute(java.lang.Object)">removeAttribute(Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#removeAttribute(java.lang.Object)">removeAttribute(Object)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#removeAttribute(java.lang.Object)">removeAttribute(Object)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Removes (unbinds) the object bound to this session under the specified <code>key</code> name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#removeAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object)">removeAttribute(SessionKey, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#removeAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object)">removeAttribute(SessionKey, Object)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Removes (unbinds) the object bound to associated <code>Session</code> under the given <code>attributeKey</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#removeFromSession(org.apache.shiro.subject.Subject)">removeFromSession(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Removes any existing subject state from the Subject's session (if the session exists).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalMap.html#removeRealmPrincipal(java.lang.String,java.lang.String)">removeRealmPrincipal(String, String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#removeRealmPrincipal(java.lang.String,java.lang.String)">removeRealmPrincipal(String, String)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/env/RequiredTypeException.html" title="class in org.apache.shiro.env"><span class="typeNameLink">RequiredTypeException</span></a> - Exception in <a href="org/apache/shiro/env/package-summary.html">org.apache.shiro.env</a></dt>
<dd>
<div class="block">Exception thrown when attempting to acquire an object of a required type and that object does not equal, extend, or
 implement a specified <code>Class</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/RequiredTypeException.html#%3Cinit%3E(java.lang.String)">RequiredTypeException(String)</a></span> - Constructor for exception org.apache.shiro.env.<a href="org/apache/shiro/env/RequiredTypeException.html" title="class in org.apache.shiro.env">RequiredTypeException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/RequiredTypeException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">RequiredTypeException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.env.<a href="org/apache/shiro/env/RequiredTypeException.html" title="class in org.apache.shiro.env">RequiredTypeException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/annotation/RequiresAuthentication.html" title="annotation in org.apache.shiro.authz.annotation"><span class="typeNameLink">RequiresAuthentication</span></a> - Annotation Type in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">Requires the current Subject to have been authenticated <em>during their current session</em> for the annotated
 class/instance/method to be accessed or invoked.</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/RequiresGuest.html" title="annotation in org.apache.shiro.authz.annotation"><span class="typeNameLink">RequiresGuest</span></a> - Annotation Type in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">Requires the current Subject to be a &quot;guest&quot;, that is, they are not authenticated <em>or</em> remembered
 from a previous session for the annotated class/instance/method to be accessed or invoked.</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation"><span class="typeNameLink">RequiresPermissions</span></a> - Annotation Type in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">
 Requires the current executor's Subject to imply a particular permission in
 order to execute the annotated method.</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation"><span class="typeNameLink">RequiresRoles</span></a> - Annotation Type in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">Requires the currently executing <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> to have all of the 
 specified roles.</div>
</dd>
<dt><a href="org/apache/shiro/authz/annotation/RequiresUser.html" title="annotation in org.apache.shiro.authz.annotation"><span class="typeNameLink">RequiresUser</span></a> - Annotation Type in <a href="org/apache/shiro/authz/annotation/package-summary.html">org.apache.shiro.authz.annotation</a></dt>
<dd>
<div class="block">Requires the current Subject to be an application <em>user</em> for the annotated class/instance/method to be
 accessed or invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#resolveAuthenticated()">resolveAuthenticated()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#resolveAuthenticated()">resolveAuthenticated()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#resolveContextSession(org.apache.shiro.subject.SubjectContext)">resolveContextSession(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/PermissionUtils.html#resolveDelimitedPermissions(java.lang.String,org.apache.shiro.authz.permission.PermissionResolver)">resolveDelimitedPermissions(String, PermissionResolver)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/PermissionUtils.html" title="class in org.apache.shiro.util">PermissionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#resolveHost()">resolveHost()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#resolveHost()">resolveHost()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#resolveIni()">resolveIni()</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Tries to resolve the Ini instance to use for configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/PermissionResolver.html#resolvePermission(java.lang.String)">resolvePermission(String)</a></span> - Method in interface org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission">PermissionResolver</a></dt>
<dd>
<div class="block">Resolves a Permission based on the given String representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html#resolvePermission(java.lang.String)">resolvePermission(String)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission">WildcardPermissionResolver</a></dt>
<dd>
<div class="block">Returns a new <a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission"><code>WildcardPermission</code></a> instance constructed based on the specified
 <tt>permissionString</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/PermissionUtils.html#resolvePermissions(java.util.Collection,org.apache.shiro.authz.permission.PermissionResolver)">resolvePermissions(Collection&lt;String&gt;, PermissionResolver)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/PermissionUtils.html" title="class in org.apache.shiro.util">PermissionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/RolePermissionResolver.html#resolvePermissionsInRole(java.lang.String)">resolvePermissionsInRole(String)</a></span> - Method in interface org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolver</a></dt>
<dd>
<div class="block">Resolves a Collection of Permissions based on the given String representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#resolvePrincipals()">resolvePrincipals()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#resolvePrincipals()">resolvePrincipals()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#resolvePrincipals(org.apache.shiro.subject.SubjectContext)">resolvePrincipals(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Attempts to resolve an identity (a <a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a>) for the context using heuristics.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#resolveSecurityManager()">resolveSecurityManager()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Resolves the <code>SecurityManager</code> instance that should be used to back the constructed <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a>
 instance (typically used to support <a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support"><code>DelegatingSubject</code></a> implementations).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#resolveSecurityManager()">resolveSecurityManager()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#resolveSession()">resolveSession()</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#resolveSession()">resolveSession()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#resolveSession(org.apache.shiro.subject.SubjectContext)">resolveSession(SubjectContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Attempts to resolve any associated session based on the context and returns a
 context that represents this resolved <code>Session</code> to ensure it may be referenced if necessary by the
 invoked <a href="org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><code>SubjectFactory</code></a> that performs actual <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> construction.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#resourcePath">resourcePath</a></span> - Variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectThreadState.html#restore()">restore()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support">SubjectThreadState</a></dt>
<dd>
<div class="block"><a href="org/apache/shiro/util/ThreadContext.html#remove(java.lang.Object)"><code>Remove</code></a>s all thread-state that was bound by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadState.html#restore()">restore()</a></span> - Method in interface org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadState.html" title="interface in org.apache.shiro.util">ThreadState</a></dt>
<dd>
<div class="block">Restores a thread to its state before bind <a href="org/apache/shiro/util/ThreadState.html#bind()"><code>bind</code></a> was invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#retrieveSession(org.apache.shiro.session.mgt.SessionKey)">retrieveSession(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>
<div class="block">Looks up a session from the underlying data store based on the specified session key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#retrieveSession(org.apache.shiro.session.mgt.SessionKey)">retrieveSession(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#retrieveSessionFromDataSource(java.io.Serializable)">retrieveSessionFromDataSource(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/aop/RoleAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">RoleAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresRoles</code></a> annotation is declared, and if so, performs
 a role check to see if the calling <code>Subject</code> is allowed to proceed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/RoleAnnotationHandler.html#%3Cinit%3E()">RoleAnnotationHandler()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/RoleAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">RoleAnnotationHandler</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this handler looks for
 <a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresRoles</code></a> annotations.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">RoleAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresRoles</code></a> annotation is declared, and if so, performs
 a role check to see if the calling <code>Subject</code> is allowed to invoke the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html#%3Cinit%3E()">RoleAnnotationMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">RoleAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for
 <a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresRoles</code></a> annotations in a method declaration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationResolver)">RoleAnnotationMethodInterceptor(AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/RoleAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">RoleAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#roleExists(java.lang.String)">roleExists(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#rolePermissionResolver">rolePermissionResolver</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">A RolePermissionResolver to be used by <em>all</em> configured realms.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission"><span class="typeNameLink">RolePermissionResolver</span></a> - Interface in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">A RolePermissionResolver resolves a String value and converts it into a Collection of
 <a href="org/apache/shiro/authz/Permission.html" title="interface in org.apache.shiro.authz"><code>Permission</code></a> instances.</div>
</dd>
<dt><a href="org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><span class="typeNameLink">RolePermissionResolverAware</span></a> - Interface in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">Interface implemented by a component that wishes to use any application-configured <tt>RolePermissionResolver</tt> that
 might already exist instead of potentially creating one itself.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#roles">roles</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">The internal roles collection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#roles">roles</a></span> - Variable in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#ROLES_LOCK">ROLES_LOCK</a></span> - Variable in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#ROLES_SECTION_NAME">ROLES_SECTION_NAME</a></span> - Static variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#run()">run()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#run()">run()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectRunnable.html#run()">run()</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support">SubjectRunnable</a></dt>
<dd>
<div class="block"><a href="org/apache/shiro/util/ThreadState.html#bind()"><code>Bind</code></a>s the Subject thread state, executes the target <code>Runnable</code> and then guarantees
 the previous thread state's <a href="org/apache/shiro/util/ThreadState.html#restore()"><code>restoration</code></a>:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.html#runAs(org.apache.shiro.subject.PrincipalCollection)">runAs(PrincipalCollection)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</a></dt>
<dd>
<div class="block">Allows this subject to 'run as' or 'assume' another identity indefinitely.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#runAs(org.apache.shiro.subject.PrincipalCollection)">runAs(PrincipalCollection)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><span class="typeNameLink">SaltedAuthenticationInfo</span></a> - Interface in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Interface representing account information that may use a salt when hashing credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#saltIsBase64Encoded">saltIsBase64Encoded</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#saltStyle">saltStyle</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)">save(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Saves the subject's state to a persistent location for future reference if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#save(org.apache.shiro.subject.Subject)">save(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Saves the subject's state to the subject's <a href="org/apache/shiro/subject/Subject.html#getSession()"><code>session</code></a> only
 if <a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)"><code>sessionStorageEnabled(subject)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SubjectDAO.html#save(org.apache.shiro.subject.Subject)">save(Subject)</a></span> - Method in interface org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</a></dt>
<dd>
<div class="block">Persists the specified Subject's state for later access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#saveToSession(org.apache.shiro.subject.Subject)">saveToSession(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Saves the subject's state (it's principals and authentication state) to its
 <a href="org/apache/shiro/subject/Subject.html#getSession()"><code>session</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)">schedule(Runnable, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#schedule(java.util.concurrent.Callable,long,java.util.concurrent.TimeUnit)">schedule(Callable&lt;V&gt;, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)">scheduleAtFixedRate(Runnable, long, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#scheduler">scheduler</a></span> - Variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#scheduleWithFixedDelay(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)">scheduleWithFixedDelay(Runnable, long, long, TimeUnit)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#searchBase">searchBase</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#searchBase">searchBase</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#searchFilter">searchFilter</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#SECURITY_MANAGER_KEY">SECURITY_MANAGER_KEY</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#SECURITY_MANAGER_NAME">SECURITY_MANAGER_NAME</a></span> - Static variable in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#securityManager">securityManager</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><span class="typeNameLink">SecurityManager</span></a> - Interface in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A <code>SecurityManager</code> executes all security operations for <em>all</em> Subjects (aka users) across a
 single application.</div>
</dd>
<dt><a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro"><span class="typeNameLink">SecurityUtils</span></a> - Class in <a href="org/apache/shiro/package-summary.html">org.apache.shiro</a></dt>
<dd>
<div class="block">Accesses the currently accessible <code>Subject</code> for the calling code depending on runtime environment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/SecurityUtils.html#%3Cinit%3E()">SecurityUtils()</a></span> - Constructor for class org.apache.shiro.<a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro">SecurityUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#serialize(org.apache.shiro.subject.PrincipalCollection)">serialize(PrincipalCollection)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Serializes the given <code>principals</code> by serializing them to a byte array by using the
 <a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#getSerializer()"><code>serializer</code></a>'s <code>serialize</code> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#session">session</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#session(org.apache.shiro.session.Session)">session(Session)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Ensures the <code>Subject</code> being built will use the specified <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instance.</div>
</dd>
<dt><a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><span class="typeNameLink">Session</span></a> - Interface in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">A <code>Session</code> is a stateful data context associated with a single Subject (user, daemon process,
 etc) who interacts with a software system over a period of time.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#SESSION_CREATION_ENABLED">SESSION_CREATION_ENABLED</a></span> - Static variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">SessionContext</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A <code>SessionContext</code> is a 'bucket' of data presented to a <a href="org/apache/shiro/session/mgt/SessionFactory.html" title="interface in org.apache.shiro.session.mgt"><code>SessionFactory</code></a> which interprets
 this data to construct <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DelegatingSubject.html#sessionCreationEnabled">sessionCreationEnabled</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#sessionCreationEnabled(boolean)">sessionCreationEnabled(boolean)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Configures whether or not the created Subject instance can create a new <code>Session</code> if one does not
 already exist.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#sessionDAO">sessionDAO</a></span> - Variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">SessionDAO</span></a> - Interface in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">Data Access Object design pattern specification to enable <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> access to an
 EIS (Enterprise Information System).</div>
</dd>
<dt><a href="org/apache/shiro/session/SessionException.html" title="class in org.apache.shiro.session"><span class="typeNameLink">SessionException</span></a> - Exception in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">General security exception attributed to problems during interaction with the system during
 a session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionException.html#%3Cinit%3E()">SessionException()</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/SessionException.html" title="class in org.apache.shiro.session">SessionException</a></dt>
<dd>
<div class="block">Creates a new SessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionException.html#%3Cinit%3E(java.lang.String)">SessionException(String)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/SessionException.html" title="class in org.apache.shiro.session">SessionException</a></dt>
<dd>
<div class="block">Constructs a new SessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">SessionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/SessionException.html" title="class in org.apache.shiro.session">SessionException</a></dt>
<dd>
<div class="block">Constructs a new SessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionException.html#%3Cinit%3E(java.lang.Throwable)">SessionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/SessionException.html" title="class in org.apache.shiro.session">SessionException</a></dt>
<dd>
<div class="block">Constructs a new SessionException.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/SessionFactory.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">SessionFactory</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A simple factory class that instantiates concrete <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/Subject.Builder.html#sessionId(java.io.Serializable)">sessionId(Serializable)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject">Subject.Builder</a></dt>
<dd>
<div class="block">Enables building a <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance that owns the <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> with the
 specified <code>sessionId</code>.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/eis/SessionIdGenerator.html" title="interface in org.apache.shiro.session.mgt.eis"><span class="typeNameLink">SessionIdGenerator</span></a> - Interface in <a href="org/apache/shiro/session/mgt/eis/package-summary.html">org.apache.shiro.session.mgt.eis</a></dt>
<dd>
<div class="block">Interface allowing pluggable session ID generation strategies to be used with various <a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis"><code>SessionDAO</code></a>
 implementations.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/SessionKey.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">SessionKey</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A <code>SessionKey</code> is a key that allows look-up of any particular <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a>
 instance.</div>
</dd>
<dt><a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session"><span class="typeNameLink">SessionListener</span></a> - Interface in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Interface to be implemented by components that wish to be notified of events that occur during a
 <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a>'s life cycle.</div>
</dd>
<dt><a href="org/apache/shiro/session/SessionListenerAdapter.html" title="class in org.apache.shiro.session"><span class="typeNameLink">SessionListenerAdapter</span></a> - Class in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Simple adapter implementation of the <a href="org/apache/shiro/session/SessionListener.html" title="interface in org.apache.shiro.session"><code>SessionListener</code></a> interface, effectively providing
 no-op implementations of all methods.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/SessionListenerAdapter.html#%3Cinit%3E()">SessionListenerAdapter()</a></span> - Constructor for class org.apache.shiro.session.<a href="org/apache/shiro/session/SessionListenerAdapter.html" title="class in org.apache.shiro.session">SessionListenerAdapter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">SessionManager</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A SessionManager manages the creation, maintenance, and clean-up of all application
 <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a>s.</div>
</dd>
<dt><a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">SessionsSecurityManager</span></a> - Class in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Shiro support of a <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> class hierarchy that delegates all
 <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>session</code></a> operations to a wrapped
 <a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#%3Cinit%3E()">SessionsSecurityManager()</a></span> - Constructor for class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Default no-arg constructor, internally creates a suitable default <a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a> delegate
 instance.</div>
</dd>
<dt><a href="org/apache/shiro/mgt/SessionStorageEvaluator.html" title="interface in org.apache.shiro.mgt"><span class="typeNameLink">SessionStorageEvaluator</span></a> - Interface in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">Evaluates whether or not Shiro may use a <code>Subject</code>'s <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a>
 to persist that <code>Subject</code>'s internal state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#sessionValidationInterval">sessionValidationInterval</a></span> - Variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#sessionValidationScheduler">sessionValidationScheduler</a></span> - Variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>
<div class="block">Scheduler used to validate sessions on a regular basis.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">SessionValidationScheduler</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Interface that should be implemented by classes that can control validating sessions on a regular
 basis.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#sessionValidationSchedulerEnabled">sessionValidationSchedulerEnabled</a></span> - Variable in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#setActions(java.util.Set)">setActions(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#setActiveSessionsCache(org.apache.shiro.cache.Cache)">setActiveSessionsCache(Cache&lt;Serializable, Session&gt;)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Sets the cache instance to use for storing active sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#setActiveSessionsCacheName(java.lang.String)">setActiveSessionsCacheName(String)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Sets the name of the active sessions cache to be returned by the <code>CacheManager</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setAdditionalEnvironment(java.util.Map)">setAdditionalEnvironment(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">These entries are added to the environment map before initializing the LDAP context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationHandler.html#setAnnotationClass(java.lang.Class)">setAnnotationClass(Class&lt;? extends Annotation&gt;)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationHandler.html" title="class in org.apache.shiro.aop">AnnotationHandler</a></dt>
<dd>
<div class="block">Sets the type of annotation this handler will inspect and process.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#setAttribute(java.lang.Object,java.lang.Object)">setAttribute(Object, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#setAttribute(java.lang.Object,java.lang.Object)">setAttribute(Object, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Immediately <a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()"><code>throws</code></a> an <code>InvalidSessionException</code> in all
 cases because this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setAttribute(java.lang.Object,java.lang.Object)">setAttribute(Object, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#setAttribute(java.lang.Object,java.lang.Object)">setAttribute(Object, Object)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#setAttribute(java.lang.Object,java.lang.Object)">setAttribute(Object, Object)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Binds the specified <code>value</code> to this session, uniquely identified by the specified
 <code>key</code> name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#setAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object,java.lang.Object)">setAttribute(SessionKey, Object, Object)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#setAttribute(org.apache.shiro.session.mgt.SessionKey,java.lang.Object,java.lang.Object)">setAttribute(SessionKey, Object, Object)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Binds the specified <code>value</code> to the associated session uniquely identified by the <code>attributeKey</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setAttributes(java.util.Map)">setAttributes(Map&lt;Object, Object&gt;)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setAuthenticated(boolean)">setAuthenticated(boolean)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets whether or not the constructed <code>Subject</code> instance should be considered as authenticated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setAuthenticated(boolean)">setAuthenticated(boolean)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setAuthentication(java.lang.String)">setAuthentication(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the type of LDAP authentication to perform when connecting to the LDAP server.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)">setAuthenticationCache(Cache&lt;Object, AuthenticationInfo&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Sets an explicit <code>Cache</code> instance to use for authentication caching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCacheName(java.lang.String)">setAuthenticationCacheName(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Sets the name of a <code>Cache</code> to lookup from any available <a href="org/apache/shiro/realm/CachingRealm.html#getCacheManager()"><code>cacheManager</code></a> if
 a cache is not explicitly configured via <a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCache(org.apache.shiro.cache.Cache)"><code>AuthenticatingRealm.setAuthenticationCache(org.apache.shiro.cache.Cache)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationCachingEnabled(boolean)">setAuthenticationCachingEnabled(boolean)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Sets whether or not authentication caching should be utilized if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setAuthenticationInfo(org.apache.shiro.authc.AuthenticationInfo)">setAuthenticationInfo(AuthenticationInfo)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setAuthenticationInfo(org.apache.shiro.authc.AuthenticationInfo)">setAuthenticationInfo(AuthenticationInfo)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/AbstractAuthenticator.html#setAuthenticationListeners(java.util.Collection)">setAuthenticationListeners(Collection&lt;AuthenticationListener&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/AbstractAuthenticator.html" title="class in org.apache.shiro.authc">AbstractAuthenticator</a></dt>
<dd>
<div class="block">Sets the <a href="org/apache/shiro/authc/AuthenticationListener.html" title="interface in org.apache.shiro.authc"><code>AuthenticationListener</code></a>s that should be notified during authentication
 attempts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setAuthenticationMechanism(java.lang.String)">setAuthenticationMechanism(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the type of LDAP authentication mechanism to use when connecting to the LDAP server.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setAuthenticationQuery(java.lang.String)">setAuthenticationQuery(String)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Overrides the default query used to retrieve a user's password during authentication.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#setAuthenticationStrategy(org.apache.shiro.authc.pam.AuthenticationStrategy)">setAuthenticationStrategy(AuthenticationStrategy)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Allows overriding the default <code>AuthenticationStrategy</code> utilized during multi-realm log-in attempts.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setAuthenticationToken(org.apache.shiro.authc.AuthenticationToken)">setAuthenticationToken(AuthenticationToken)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setAuthenticationToken(org.apache.shiro.authc.AuthenticationToken)">setAuthenticationToken(AuthenticationToken)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setAuthenticationTokenClass(java.lang.Class)">setAuthenticationTokenClass(Class&lt;? extends AuthenticationToken&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Sets the authenticationToken class supported by this realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html#setAuthenticator(org.apache.shiro.authc.Authenticator)">setAuthenticator(Authenticator)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</a></dt>
<dd>
<div class="block">Sets the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
 authentication operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCache(org.apache.shiro.cache.Cache)">setAuthorizationCache(Cache&lt;Object, AuthorizationInfo&gt;)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCacheName(java.lang.String)">setAuthorizationCacheName(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setAuthorizationCachingEnabled(boolean)">setAuthorizationCachingEnabled(boolean)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>
<div class="block">Sets whether or not authorization caching should be utilized if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html#setAuthorizer(org.apache.shiro.authz.Authorizer)">setAuthorizer(Authorizer)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dt>
<dd>
<div class="block">Sets the underlying <tt>Authorizer</tt> instance to which this <tt>SecurityManager</tt> implementation will
 delegate all of its authorization calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager(CacheManager)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Sets the CacheManager used by this <code>SecurityManager</code> and potentially any of its
 children components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager(CacheManager)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Sets the <tt>CacheManager</tt> to be used for data caching to reduce EIS round trips.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager(CacheManager)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager(CacheManager)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Sets the cacheManager to use for acquiring the <a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#getActiveSessionsCache()"><code>activeSessionsCache</code></a> if
 one is not configured.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#setCachingEnabled(boolean)">setCachingEnabled(boolean)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>
<div class="block">Sets whether or not caching should be used if a <code>CacheManager</code> has been
 <a href="org/apache/shiro/realm/CachingRealm.html#setCacheManager(org.apache.shiro.cache.CacheManager)"><code>configured</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/RegExPatternMatcher.html#setCaseInsensitive(boolean)">setCaseInsensitive(boolean)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/RegExPatternMatcher.html" title="class in org.apache.shiro.util">RegExPatternMatcher</a></dt>
<dd>
<div class="block">Adds the Pattern.CASE_INSENSITIVE flag when compiling patterns.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html#setCaseSensitive(boolean)">setCaseSensitive(boolean)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission">WildcardPermissionResolver</a></dt>
<dd>
<div class="block">Set the case sensitivity of the resolved Wildcard permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setCipherKey(byte%5B%5D)">setCipherKey(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Convenience method that sets the cipher key to use for <em>both</em> encryption and decryption.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setCipherService(org.apache.shiro.crypto.CipherService)">setCipherService(CipherService)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Sets the <code>CipherService</code> to use for encrypting and decrypting serialized identity data to prevent easy
 inspection of Subject identity data.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#setContextFactory(org.apache.shiro.realm.ldap.LdapContextFactory)">setContextFactory(LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Sets the LdapContextFactory instance used to acquire connections to the LDAP directory during authentication
 attempts and authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setContextFactoryClassName(java.lang.String)">setContextFactoryClassName(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The context factory to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setContextFactoryClassName(java.lang.String)">setContextFactoryClassName(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">The name of the ContextFactory class to use.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setCredentials(java.lang.Object)">setCredentials(Object)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets this Account's credentials that verify one or more of the Account's
 <a href="org/apache/shiro/authc/SimpleAccount.html#getPrincipals()"><code>principals</code></a>, such as a password or private key.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#setCredentials(java.lang.Object)">setCredentials(Object)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Sets the credentials that verify the principals/identity of the associated Realm account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setCredentialsExpired(boolean)">setCredentialsExpired(boolean)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets whether or not the Account's credentials are expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setCredentialsMatcher(org.apache.shiro.authc.credential.CredentialsMatcher)">setCredentialsMatcher(CredentialsMatcher)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Sets the CrendialsMatcher used during an authentication attempt to verify submitted credentials with those
 stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setCredentialsSalt(org.apache.shiro.util.ByteSource)">setCredentialsSalt(ByteSource)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets the salt to use to hash this Account's credentials (eg for password hashing), or <code>null</code> if no salt
 is used or credentials are not hashed at all.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#setCredentialsSalt(org.apache.shiro.util.ByteSource)">setCredentialsSalt(ByteSource)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Sets the salt used to hash the credentials, or <code>null</code> if no salt was used or credentials were not
 hashed at all.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setDataSource(javax.sql.DataSource)">setDataSource(DataSource)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Sets the datasource that should be used to retrieve connections used by this realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setDecryptionCipherKey(byte%5B%5D)">setDecryptionCipherKey(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Sets the decryption key to use for decryption operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#setDefaults(java.util.Map)">setDefaults(Map&lt;String, ?&gt;)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the default objects used by this factory.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#setDeleteInvalidSessions(boolean)">setDeleteInvalidSessions(boolean)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>
<div class="block">Sets whether or not sessions should be automatically deleted after they are discovered to be invalid.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#setDomain(java.lang.String)">setDomain(String)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setEncryptionCipherKey(byte%5B%5D)">setEncryptionCipherKey(byte[])</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Sets the encryption key to use for encryption operations.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setEnvironment(java.util.Map)">setEnvironment(Map)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the base JNDI environment template to use when acquiring LDAP connections.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#setEnvironment(java.util.Properties)">setEnvironment(Properties)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Set the environment for the JNDI InitialContext.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/CachingSecurityManager.html#setEventBus(org.apache.shiro.event.EventBus)">setEventBus(EventBus)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></dt>
<dd>
<div class="block">Sets the EventBus used by this <code>SecurityManager</code> and potentially any of its
 children components.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#setEventBus(org.apache.shiro.event.EventBus)">setEventBus(EventBus)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>
<div class="block">Sets the EventBus to use to publish SessionEvents.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setExpired(boolean)">setExpired(boolean)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractSessionManager.html#setGlobalSessionTimeout(long)">setGlobalSessionTimeout(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractSessionManager</a></dt>
<dd>
<div class="block">Sets the system-wide default time in milliseconds that any session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html#setGroupRolesMap(java.util.Map)">setGroupRolesMap(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.shiro.realm.activedirectory.<a href="org/apache/shiro/realm/activedirectory/ActiveDirectoryRealm.html" title="class in org.apache.shiro.realm.activedirectory">ActiveDirectoryRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#setHandler(org.apache.shiro.aop.AnnotationHandler)">setHandler(AnnotationHandler)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Sets the <code>AnnotationHandler</code> used to perform authorization behavior based on
 an annotation discovered at runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)">setHashAlgorithmName(String)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Sets the <code>Hash</code> <code>algorithmName</code> to use
 when performing hashes for credentials matching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#setHashFormat(org.apache.shiro.crypto.hash.format.HashFormat)">setHashFormat(HashFormat)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#setHashFormatFactory(org.apache.shiro.crypto.hash.format.HashFormatFactory)">setHashFormatFactory(HashFormatFactory)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashIterations(int)">setHashIterations(int)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Sets the number of times a submitted <code>AuthenticationToken</code>'s credentials will be hashed before comparing
 to the credentials stored in the system.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashSalted(boolean)">setHashSalted(boolean)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since Shiro 1.1.  Hash salting is now expected to be based on if the <a href="org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>AuthenticationInfo</code></a>
             returned from the <code>Realm</code> is a <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a> instance and its
             <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html#getCredentialsSalt()"><code>getCredentialsSalt()</code></a> method returns a non-null value.
             This method and the 1.0 behavior still exists for backwards compatibility if the <code>Realm</code> does not return
             <code>SaltedAuthenticationInfo</code> instances, but <b>it is highly recommended that <code>Realm</code> implementations
             that support hashed credentials start returning <a href="org/apache/shiro/authc/SaltedAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>SaltedAuthenticationInfo</code></a>
             instances as soon as possible</b>.
             <p/>
             This is because salts should always be obtained from the stored account information and
             never be interpreted based on user/Subject-entered data.  User-entered data is easier to compromise for
             attackers, whereas account-unique (and secure randomly-generated) salts never disseminated to the end-user
             are almost impossible to break.  This method will be removed in Shiro 2.0.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/DefaultPasswordService.html#setHashService(org.apache.shiro.crypto.hash.HashService)">setHashService(HashService)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/DefaultPasswordService.html" title="class in org.apache.shiro.authc.credential">DefaultPasswordService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Sets the host name or IP string from where the authentication attempt occurs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionContext.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</a></dt>
<dd>
<div class="block">Sets the originating host name or IP address (as a String) from where the <code>Subject</code> is initiating the
 <code>Session</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the host name or IP that should reflect the constructed <code>Subject</code>'s originating location.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setHost(java.lang.String)">setHost(String)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/HostUnauthorizedException.html#setHostAddress(java.lang.String)">setHostAddress(String)</a></span> - Method in exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/HostUnauthorizedException.html" title="class in org.apache.shiro.authz">HostUnauthorizedException</a></dt>
<dd>
<div class="block">Sets the host associated with this exception.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setId(java.io.Serializable)">setId(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniFactorySupport.html#setIni(org.apache.shiro.config.Ini)">setIni(Ini)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniFactorySupport.html" title="class in org.apache.shiro.config">IniFactorySupport</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#setIni(org.apache.shiro.config.Ini)">setIni(Ini)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>
<div class="block">Sets the Ini instance used to configure this realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#setInterval(long)">setInterval(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#setJndiEnvironment(java.util.Properties)">setJndiEnvironment(Properties)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Set the JNDI environment to use for JNDI lookups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#setJndiNames(java.lang.String)">setJndiNames(String)</a></span> - Method in class org.apache.shiro.realm.jndi.<a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi">JndiRealmFactory</a></dt>
<dd>
<div class="block">Specifies a comma-delimited list of JNDI names to lookup, each one corresponding to a jndi-bound
 <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html#setJndiNames(java.util.Collection)">setJndiNames(Collection&lt;String&gt;)</a></span> - Method in class org.apache.shiro.realm.jndi.<a href="org/apache/shiro/realm/jndi/JndiRealmFactory.html" title="class in org.apache.shiro.realm.jndi">JndiRealmFactory</a></dt>
<dd>
<div class="block">Sets the JNDI names that will be used to look up Realm(s) from JNDI.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#setJndiTemplate(org.apache.shiro.jndi.JndiTemplate)">setJndiTemplate(JndiTemplate)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Set the JNDI template to use for JNDI lookups.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setLastAccessTime(java.util.Date)">setLastAccessTime(Date)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setLdapContextFactory(org.apache.shiro.realm.ldap.LdapContextFactory)">setLdapContextFactory(LdapContextFactory)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Configures the <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a> implementation that is used to create LDAP connections for
 authentication and authorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setLocked(boolean)">setLocked(boolean)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets whether or not the account is locked and can be used to login.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html#setMethodInterceptors(java.util.Collection)">setMethodInterceptors(Collection&lt;AuthorizingAnnotationMethodInterceptor&gt;)</a></span> - Method in class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/AnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">AnnotationsAuthorizingMethodInterceptor</a></dt>
<dd>
<div class="block">Sets the method interceptors to execute for the annotated method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/CachingRealm.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/CachingRealm.html" title="class in org.apache.shiro.realm">CachingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#setObject(java.lang.String,java.lang.Object)">setObject(String, Object)</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setObjectPermissions(java.util.Set)">setObjectPermissions(Set&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets all object-based permissions assigned directly to this Account (not any of its realms).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#setObjectPermissions(java.util.Set)">setObjectPermissions(Set&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Sets the object-based permissions assigned directly to the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#setParts(java.lang.String)">setParts(String)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#setParts(java.lang.String,boolean)">setParts(String, boolean)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#setParts(java.lang.String,java.util.Set,java.util.Set)">setParts(String, Set&lt;String&gt;, Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#setParts(java.util.List)">setParts(List&lt;Set&lt;String&gt;&gt;)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>
<div class="block">Sets the pre-split String parts of this <code>WildcardPermission</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#setPassword(char%5B%5D)">setPassword(char[])</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Sets the password for submission during an authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/PasswordMatcher.html#setPasswordService(org.apache.shiro.authc.credential.PasswordService)">setPasswordService(PasswordService)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/PasswordMatcher.html" title="class in org.apache.shiro.authc.credential">PasswordMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AntPathMatcher.html#setPathSeparator(java.lang.String)">setPathSeparator(String)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AntPathMatcher.html" title="class in org.apache.shiro.util">AntPathMatcher</a></dt>
<dd>
<div class="block">Set the path separator to use for pattern parsing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver(PermissionResolver)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Sets the specified <a href="org/apache/shiro/authz/permission/PermissionResolver.html" title="interface in org.apache.shiro.authz.permission"><code>PermissionResolver</code></a> on <em>all</em> of the wrapped realms that
 implement the <a href="org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><code>PermissionResolverAware</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/PermissionResolverAware.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver(PermissionResolver)</a></span> - Method in interface org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/PermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">PermissionResolverAware</a></dt>
<dd>
<div class="block">Sets the specified <tt>PermissionResolver</tt> on this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)">setPermissionResolver(PermissionResolver)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#setPermissions(java.util.Set)">setPermissions(Set&lt;Permission&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setPermissionsLookupEnabled(boolean)">setPermissionsLookupEnabled(boolean)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Enables lookup of permissions during authorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setPermissionsQuery(java.lang.String)">setPermissionsQuery(String)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Overrides the default query used to retrieve a user's permissions during authorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setPoolingEnabled(boolean)">setPoolingEnabled(boolean)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets whether or not connection pooling should be used when possible and appropriate.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals(PrincipalCollection)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets the principals, aka the identifying attributes (username, user id, first name, last name, etc) of this
 Account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals(PrincipalCollection)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Sets the identifying principal(s) represented by this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals(PrincipalCollection)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the principals (aka identity) that the constructed <code>Subject</code> should reflect.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setPrincipals(org.apache.shiro.subject.PrincipalCollection)">setPrincipals(PrincipalCollection)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setPrincipalSuffix(java.lang.String)">setPrincipalSuffix(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Used when initializing the default <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setPrincipalSuffix(java.lang.String)">setPrincipalSuffix(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">A suffix appended to the username.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html#setRandom(java.util.Random)">setRandom(Random)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/RandomSessionIdGenerator.html" title="class in org.apache.shiro.session.mgt.eis">RandomSessionIdGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#setRealm(org.apache.shiro.realm.Realm)">setRealm(Realm)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Convenience method for applications using a single realm that merely wraps the realm in a list and then invokes
 the <a href="org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)"><code>RealmSecurityManager.setRealms(java.util.Collection&lt;org.apache.shiro.realm.Realm&gt;)</code></a> method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalMap.html#setRealmPrincipal(java.lang.String,java.lang.String,java.lang.Object)">setRealmPrincipal(String, String, Object)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#setRealmPrincipal(java.lang.String,java.lang.String,java.lang.Object)">setRealmPrincipal(String, String, Object)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/PrincipalMap.html#setRealmPrincipals(java.lang.String,java.util.Map)">setRealmPrincipals(String, Map&lt;String, Object&gt;)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject">PrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#setRealmPrincipals(java.lang.String,java.util.Map)">setRealmPrincipals(String, Map&lt;String, Object&gt;)</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html#setRealms(java.util.Collection)">setRealms(Collection&lt;Realm&gt;)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam">ModularRealmAuthenticator</a></dt>
<dd>
<div class="block">Sets all realms used by this Authenticator, providing PAM (Pluggable Authentication Module) configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#setRealms(java.util.Collection)">setRealms(Collection&lt;Realm&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Sets the realms wrapped by this <code>Authorizer</code> which are consulted during an authorization check.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)">setRealms(Collection&lt;Realm&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></dt>
<dd>
<div class="block">Sets the realms managed by this <tt>SecurityManager</tt> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setReferral(java.lang.String)">setReferral(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the LDAP referral property.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setReferral(java.lang.String)">setReferral(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the LDAP referral behavior when creating a connection.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#setReflectionBuilder(org.apache.shiro.config.ReflectionBuilder)">setReflectionBuilder(ReflectionBuilder)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Sets the ReflectionBuilder that will be used to create the SecurityManager based on the contents of
 the Ini configuration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#setReloadIntervalSeconds(int)">setReloadIntervalSeconds(int)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>
<div class="block">Sets the interval in seconds at which the property file will be checked for changes and reloaded.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#setRememberMe(boolean)">setRememberMe(boolean)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Sets if the submitting user wishes their identity (principal(s)) to be remembered across sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#setRememberMeManager(org.apache.shiro.mgt.RememberMeManager)">setRememberMeManager(RememberMeManager)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#setRequiredType(java.lang.Class)">setRequiredType(Class&lt;? extends T&gt;)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#setResolver(org.apache.shiro.aop.AnnotationResolver)">setResolver(AnnotationResolver)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Returns the <code>AnnotationResolver</code> to use to acquire annotations from intercepted
 methods at runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiObjectFactory.html#setResourceName(java.lang.String)">setResourceName(String)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiObjectFactory.html" title="class in org.apache.shiro.jndi">JndiObjectFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#setResourcePath(java.lang.String)">setResourcePath(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#setResourcePath(java.lang.String)">setResourcePath(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>
<div class="block">Sets the path of the properties file to load user, role, and permission information from.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiLocator.html#setResourceRef(boolean)">setResourceRef(boolean)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiLocator.html" title="class in org.apache.shiro.jndi">JndiLocator</a></dt>
<dd>
<div class="block">Set whether the lookup occurs in a J2EE container, i.e.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#setResources(java.util.Map)">setResources(Map&lt;Object, Object&gt;)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Allows a caller to explicitly set the entire resource map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#setRoleDefinitions(java.lang.String)">setRoleDefinitions(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>
<div class="block">Sets a newline (\n) delimited String that defines role-to-permission definitions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/ModularRealmAuthorizer.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver(RolePermissionResolver)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/ModularRealmAuthorizer.html" title="class in org.apache.shiro.authz">ModularRealmAuthorizer</a></dt>
<dd>
<div class="block">Sets the specified <a href="org/apache/shiro/authz/permission/RolePermissionResolver.html" title="interface in org.apache.shiro.authz.permission"><code>RolePermissionResolver</code></a> on <em>all</em> of the wrapped realms that
 implement the <a href="org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission"><code>PermissionResolverAware</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/RolePermissionResolverAware.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver(RolePermissionResolver)</a></span> - Method in interface org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/RolePermissionResolverAware.html" title="interface in org.apache.shiro.authz.permission">RolePermissionResolverAware</a></dt>
<dd>
<div class="block">Sets the specified <tt>RolePermissionResolver</tt> on this instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthorizingRealm.html#setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)">setRolePermissionResolver(RolePermissionResolver)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthorizingRealm.html" title="class in org.apache.shiro.realm">AuthorizingRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setRoles(java.util.Set)">setRoles(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets the Account's assigned roles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#setRoles(java.util.Set)">setRoles(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Sets the roles assigned to the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setSaltIsBase64Encoded(boolean)">setSaltIsBase64Encoded(boolean)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Makes it possible to switch off base64 encoding of password salt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setSaltStyle(org.apache.shiro.realm.jdbc.JdbcRealm.SaltStyle)">setSaltStyle(JdbcRealm.SaltStyle)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Sets the salt style.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setSearchBase(java.lang.String)">setSearchBase(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Used when initializing the default <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setSearchBase(java.lang.String)">setSearchBase(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">this attribute existed, but was never used in Shiro 1.x.  It will be removed prior to Shiro 2.0.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setSearchFilter(java.lang.String)">setSearchFilter(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)">setSecurityManager(SecurityManager)</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)">setSecurityManager(SecurityManager)</a></span> - Static method in class org.apache.shiro.<a href="org/apache/shiro/SecurityUtils.html" title="class in org.apache.shiro">SecurityUtils</a></dt>
<dd>
<div class="block">Sets a VM (static) singleton SecurityManager, specifically for transparent use in the
 <a href="org/apache/shiro/SecurityUtils.html#getSubject()"><code>getSubject()</code></a> implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)">setSecurityManager(SecurityManager)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the SecurityManager instance that should be used to back the constructed <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance
 (typically used to support <a href="org/apache/shiro/subject/support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support"><code>DelegatingSubject</code></a> implementations).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)">setSecurityManager(SecurityManager)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/env/DefaultEnvironment.html#setSecurityManagerName(java.lang.String)">setSecurityManagerName(String)</a></span> - Method in class org.apache.shiro.env.<a href="org/apache/shiro/env/DefaultEnvironment.html" title="class in org.apache.shiro.env">DefaultEnvironment</a></dt>
<dd>
<div class="block">Sets the name of the <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> instance in the backing map.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/AbstractRememberMeManager.html#setSerializer(org.apache.shiro.io.Serializer)">setSerializer(Serializer&lt;PrincipalCollection&gt;)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt">AbstractRememberMeManager</a></dt>
<dd>
<div class="block">Sets the <code>Serializer</code> used to serialize and deserialize <a href="org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><code>PrincipalCollection</code></a> instances for
 persistent remember me storage.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setSession(org.apache.shiro.session.Session)">setSession(Session)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the <code>Session</code> to use when building the <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setSession(org.apache.shiro.session.Session)">setSession(Session)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setSessionCreationEnabled(boolean)">setSessionCreationEnabled(boolean)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets whether or not the constructed <code>Subject</code> instance should be allowed to create a session,
 <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setSessionCreationEnabled(boolean)">setSessionCreationEnabled(boolean)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#setSessionDAO(org.apache.shiro.session.mgt.eis.SessionDAO)">setSessionDAO(SessionDAO)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionManager.html#setSessionFactory(org.apache.shiro.session.mgt.SessionFactory)">setSessionFactory(SessionFactory)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionManager.html" title="class in org.apache.shiro.session.mgt">DefaultSessionManager</a></dt>
<dd>
<div class="block">Sets the <code>SessionFactory</code> used to generate new <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionContext.html#setSessionId(java.io.Serializable)">setSessionId(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionContext.html" title="class in org.apache.shiro.session.mgt">DefaultSessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DefaultSessionKey.html#setSessionId(java.io.Serializable)">setSessionId(Serializable)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DefaultSessionKey.html" title="class in org.apache.shiro.session.mgt">DefaultSessionKey</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionContext.html#setSessionId(java.io.Serializable)">setSessionId(Serializable)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setSessionId(java.io.Serializable)">setSessionId(Serializable)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the session id of the session that should be associated with the constructed <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setSessionId(java.io.Serializable)">setSessionId(Serializable)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#setSessionIdGenerator(org.apache.shiro.session.mgt.eis.SessionIdGenerator)">setSessionIdGenerator(SessionIdGenerator)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">AbstractSessionDAO</a></dt>
<dd>
<div class="block">Sets the <code>SessionIdGenerator</code> used by the <a href="org/apache/shiro/session/mgt/eis/AbstractSessionDAO.html#generateSessionId(org.apache.shiro.session.Session)"><code>AbstractSessionDAO.generateSessionId(org.apache.shiro.session.Session)</code></a>
 method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#setSessionListeners(java.util.Collection)">setSessionListeners(Collection&lt;SessionListener&gt;)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#setSessionManager(org.apache.shiro.session.mgt.SessionManager)">setSessionManager(SessionManager)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>
<div class="block">Sets the underlying delegate <a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><code>SessionManager</code></a> instance that will be used to support this implementation's
 <tt>SessionManager</tt> method calls.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#setSessionManager(org.apache.shiro.session.mgt.ValidatingSessionManager)">setSessionManager(ValidatingSessionManager)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html#setSessionStorageEnabled(boolean)">setSessionStorageEnabled(boolean)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt">DefaultSessionStorageEvaluator</a></dt>
<dd>
<div class="block">Sets if any Subject's <code>Session</code> may be used to persist that <code>Subject</code>'s state.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSubjectDAO.html#setSessionStorageEvaluator(org.apache.shiro.mgt.SessionStorageEvaluator)">setSessionStorageEvaluator(SessionStorageEvaluator)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt">DefaultSubjectDAO</a></dt>
<dd>
<div class="block">Sets the <code>SessionStorageEvaluator</code> that will determine if a <code>Subject</code>'s state may be persisted in
 the Subject's session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#setSessionValidationInterval(long)">setSessionValidationInterval(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>
<div class="block">If using the underlying default <tt>SessionValidationScheduler</tt> (that is, the
 <a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#setSessionValidationScheduler(org.apache.shiro.session.mgt.SessionValidationScheduler)"><code>setSessionValidationScheduler</code></a> method is
 never called) , this method allows one to specify how
 frequently session should be validated (to check for orphans).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#setSessionValidationScheduler(org.apache.shiro.session.mgt.SessionValidationScheduler)">setSessionValidationScheduler(SessionValidationScheduler)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#setSessionValidationSchedulerEnabled(boolean)">setSessionValidationSchedulerEnabled(boolean)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/AbstractFactory.html#setSingleton(boolean)">setSingleton(boolean)</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/AbstractFactory.html" title="class in org.apache.shiro.util">AbstractFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setStartTimestamp(java.util.Date)">setStartTimestamp(Date)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html#setStopAfterFirstSuccess(boolean)">setStopAfterFirstSuccess(boolean)</a></span> - Method in class org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setStopTimestamp(java.util.Date)">setStopTimestamp(Date)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setStoredCredentialsHexEncoded(boolean)">setStoredCredentialsHexEncoded(boolean)</a></span> - Method in class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">HashedCredentialsMatcher</a></dt>
<dd>
<div class="block">Sets the indicator if this system's stored credential hash is Hex encoded or not.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#setStringPermissions(java.util.Set)">setStringPermissions(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Sets the String-based permissions assigned to this Account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#setStringPermissions(java.util.Set)">setStringPermissions(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Sets the string-based permissions assigned directly to the account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SubjectContext.html#setSubject(org.apache.shiro.subject.Subject)">setSubject(Subject)</a></span> - Method in interface org.apache.shiro.subject.<a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a></dt>
<dd>
<div class="block">Sets the existing <code>Subject</code> that may be in use at the time the new <code>Subject</code> instance is
 being created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/DefaultSubjectContext.html#setSubject(org.apache.shiro.subject.Subject)">setSubject(Subject)</a></span> - Method in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/DefaultSubjectContext.html" title="class in org.apache.shiro.subject.support">DefaultSubjectContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectDAO(org.apache.shiro.mgt.SubjectDAO)">setSubjectDAO(SubjectDAO)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Sets the <code>SubjectDAO</code> responsible for persisting Subject state, typically used after login or when an
 Subject identity is discovered (eg after RememberMe services).</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectFactory(org.apache.shiro.mgt.SubjectFactory)">setSubjectFactory(SubjectFactory)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="block">Sets the <code>SubjectFactory</code> responsible for creating <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instances exposed to the application.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setSystemPassword(java.lang.String)">setSystemPassword(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Used when initializing the default <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setSystemPassword(java.lang.String)">setSystemPassword(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The system password that will be used when connecting to the LDAP server to retrieve authorization
 information about a user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setSystemPassword(java.lang.String)">setSystemPassword(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the password of the <a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setSystemUsername(java.lang.String)"><code>systemUsername</code></a> that will be used when creating an
 LDAP connection used for authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setSystemUsername(java.lang.String)">setSystemUsername(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Used when initializing the default <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setSystemUsername(java.lang.String)">setSystemUsername(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The system username that will be used when connecting to the LDAP server to retrieve authorization
 information about a user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setSystemUsername(java.lang.String)">setSystemUsername(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Sets the system username that will be used when creating an LDAP connection used for authorization queries.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#setTargetExecutor(java.util.concurrent.Executor)">setTargetExecutor(Executor)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>
<div class="block">Sets target Executor instance that will actually execute the subject-associated Runnable instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#setTargetExecutor(java.util.concurrent.Executor)">setTargetExecutor(Executor)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#setTargetExecutor(java.util.concurrent.Executor)">setTargetExecutor(Executor)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#setTargetExecutorService(java.util.concurrent.ExecutorService)">setTargetExecutorService(ExecutorService)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#setTargetExecutorService(java.util.concurrent.ExecutorService)">setTargetExecutorService(ExecutorService)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/DomainPermission.html#setTargets(java.util.Set)">setTargets(Set&lt;String&gt;)</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/DomainPermission.html" title="class in org.apache.shiro.authz.permission">DomainPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#setTargetScheduledExecutorService(java.util.concurrent.ScheduledExecutorService)">setTargetScheduledExecutorService(ScheduledExecutorService)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html#setThreadNamePrefix(java.lang.String)">setThreadNamePrefix(String)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ExecutorServiceSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt">ExecutorServiceSessionValidationScheduler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#setTimeout(long)">setTimeout(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#setTimeout(long)">setTimeout(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Immediately <a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()"><code>throws</code></a> an <code>InvalidSessionException</code> in all
 cases because this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#setTimeout(long)">setTimeout(long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#setTimeout(long)">setTimeout(long)</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#setTimeout(long)">setTimeout(long)</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Sets the time in milliseconds that the session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#setTimeout(org.apache.shiro.session.mgt.SessionKey,long)">setTimeout(SessionKey, long)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#setTimeout(org.apache.shiro.session.mgt.SessionKey,long)">setTimeout(SessionKey, long)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Sets the time in milliseconds that the associated session may remain idle before expiring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#setUrl(java.lang.String)">setUrl(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>
<div class="block">Used when initializing the default <a href="org/apache/shiro/realm/ldap/LdapContextFactory.html" title="interface in org.apache.shiro.realm.ldap"><code>LdapContextFactory</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setUrl(java.lang.String)">setUrl(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The LDAP url to connect to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#setUrl(java.lang.String)">setUrl(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">The LDAP url to connect to.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#setUsePooling(boolean)">setUsePooling(boolean)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Determines whether or not LdapContext pooling is enabled for connections made using the system
 user account.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#setUserDefinitions(java.lang.String)">setUserDefinitions(String)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>
<div class="block">Sets a newline (\n) delimited String that defines user-to-password-and-role(s) key/value pairs according
 to the following format:</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html#setUserDnTemplate(java.lang.String)">setUserDnTemplate(String)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapRealm.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapRealm</a></dt>
<dd>
<div class="block">Sets the User Distinguished Name (DN) template to use when creating User DNs at runtime.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#setUsername(java.lang.String)">setUsername(String)</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Sets the username for submission during an authentication attempt.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#setUserRolesQuery(java.lang.String)">setUserRolesQuery(String)</a></span> - Method in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>
<div class="block">Overrides the default query used to retrieve a user's roles during authorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#setUseXmlFormat(boolean)">setUseXmlFormat(boolean)</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>
<div class="block">Determines whether or not the properties XML format should be used.</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/Sha1CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Sha1CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Sha1CredentialsMatcher.html#%3Cinit%3E()">Sha1CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Sha1CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Sha1CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/Sha256CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Sha256CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Sha256CredentialsMatcher.html#%3Cinit%3E()">Sha256CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Sha256CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Sha256CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/Sha384CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Sha384CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Sha384CredentialsMatcher.html#%3Cinit%3E()">Sha384CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Sha384CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Sha384CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/credential/Sha512CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">Sha512CredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.1 - use the HashedCredentialsMatcher directly and set its
             <a href="org/apache/shiro/authc/credential/HashedCredentialsMatcher.html#setHashAlgorithmName(java.lang.String)"><code>hashAlgorithmName</code></a> property.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/Sha512CredentialsMatcher.html#%3Cinit%3E()">Sha512CredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/Sha512CredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">Sha512CredentialsMatcher</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">ShortCircuitIterationException</span></a> - Exception in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block">Exception thrown during the authentication process using
 <a href="org/apache/shiro/authc/pam/FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><code>FirstSuccessfulStrategy</code></a>, with 
 <code>stopAfterFirstSuccess</code> set.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html#%3Cinit%3E()">ShortCircuitIterationException()</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html" title="class in org.apache.shiro.authc.pam">ShortCircuitIterationException</a></dt>
<dd>
<div class="block">Creates a new ShortCircuitIterationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html#%3Cinit%3E(java.lang.String)">ShortCircuitIterationException(String)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html" title="class in org.apache.shiro.authc.pam">ShortCircuitIterationException</a></dt>
<dd>
<div class="block">Constructs a new ShortCircuitIterationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">ShortCircuitIterationException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html" title="class in org.apache.shiro.authc.pam">ShortCircuitIterationException</a></dt>
<dd>
<div class="block">Constructs a new ShortCircuitIterationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html#%3Cinit%3E(java.lang.Throwable)">ShortCircuitIterationException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/ShortCircuitIterationException.html" title="class in org.apache.shiro.authc.pam">ShortCircuitIterationException</a></dt>
<dd>
<div class="block">Constructs a new ShortCircuitIterationException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/config/IniSecurityManagerFactory.html#shouldImplicitlyCreateRealm(org.apache.shiro.config.Ini)">shouldImplicitlyCreateRealm(Ini)</a></span> - Method in class org.apache.shiro.config.<a href="org/apache/shiro/config/IniSecurityManagerFactory.html" title="class in org.apache.shiro.config">IniSecurityManagerFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Returns <code>true</code> if the Ini contains account data and a <code>Realm</code> should be implicitly
 <a href="org/apache/shiro/config/IniSecurityManagerFactory.html#createRealm(org.apache.shiro.config.Ini)"><code>created</code></a> to reflect the account data, <code>false</code> if no realm should be implicitly
 created.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#shutdown()">shutdown()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#shutdownNow()">shutdownNow()</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#SIMPLE_AUTHENTICATION_MECHANISM_NAME">SIMPLE_AUTHENTICATION_MECHANISM_NAME</a></span> - Static variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">SimpleAccount</span></a> - Class in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Simple implementation of the <a href="org/apache/shiro/authc/Account.html" title="interface in org.apache.shiro.authc"><code>Account</code></a> interface that
 contains principal and credential and authorization information (roles and permissions) as instance variables and
 exposes them via getters and setters using standard JavaBean notation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E()">SimpleAccount()</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Default no-argument constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(java.lang.Object,java.lang.Object,java.lang.String)">SimpleAccount(Object, Object, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified realm with the given principals and credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(java.lang.Object,java.lang.Object,java.lang.String,java.util.Set,java.util.Set)">SimpleAccount(Object, Object, String, Set&lt;String&gt;, Set&lt;Permission&gt;)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified realm with the given principal and credentials, with the
 the assigned roles and permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(java.lang.Object,java.lang.Object,org.apache.shiro.util.ByteSource,java.lang.String)">SimpleAccount(Object, Object, ByteSource, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified realm with the given principals, hashedCredentials and
 credentials salt used when hashing the credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(java.util.Collection,java.lang.Object,java.lang.String)">SimpleAccount(Collection, Object, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified realm with the given principals and credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(java.util.Collection,java.lang.Object,java.lang.String,java.util.Set,java.util.Set)">SimpleAccount(Collection, Object, String, Set&lt;String&gt;, Set&lt;Permission&gt;)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified realm with the given principals and credentials, with the
 the assigned roles and permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object)">SimpleAccount(PrincipalCollection, Object)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified principals and credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,java.util.Set)">SimpleAccount(PrincipalCollection, Object, Set&lt;String&gt;)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified principals and credentials, with the assigned roles.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,java.util.Set,java.util.Set)">SimpleAccount(PrincipalCollection, Object, Set&lt;String&gt;, Set&lt;Permission&gt;)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance from the given principals and credentials, with the
 the assigned roles and permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,org.apache.shiro.util.ByteSource)">SimpleAccount(PrincipalCollection, Object, ByteSource)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Constructs a SimpleAccount instance for the specified principals and credentials.</div>
</dd>
<dt><a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm"><span class="typeNameLink">SimpleAccountRealm</span></a> - Class in <a href="org/apache/shiro/realm/package-summary.html">org.apache.shiro.realm</a></dt>
<dd>
<div class="block">A simple implementation of the <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a> interface that
 uses a set of configured user accounts and roles to support authentication and authorization.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#%3Cinit%3E()">SimpleAccountRealm()</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#%3Cinit%3E(java.lang.String)">SimpleAccountRealm(String)</a></span> - Constructor for class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">SimpleAuthenticationInfo</span></a> - Class in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Simple implementation of the <a href="org/apache/shiro/authc/MergableAuthenticationInfo.html" title="interface in org.apache.shiro.authc"><code>MergableAuthenticationInfo</code></a> interface that holds the principals and
 credentials.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#%3Cinit%3E()">SimpleAuthenticationInfo()</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Default no-argument constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#%3Cinit%3E(java.lang.Object,java.lang.Object,java.lang.String)">SimpleAuthenticationInfo(Object, Object, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Constructor that takes in a single 'primary' principal of the account and its corresponding credentials,
 associated with the specified realm.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#%3Cinit%3E(java.lang.Object,java.lang.Object,org.apache.shiro.util.ByteSource,java.lang.String)">SimpleAuthenticationInfo(Object, Object, ByteSource, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Constructor that takes in a single 'primary' principal of the account, its corresponding hashed credentials,
 the salt used to hash the credentials, and the name of the realm to associate with the principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object)">SimpleAuthenticationInfo(PrincipalCollection, Object)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Constructor that takes in an account's identifying principal(s) and its corresponding credentials that verify
 the principals.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection,java.lang.Object,org.apache.shiro.util.ByteSource)">SimpleAuthenticationInfo(PrincipalCollection, Object, ByteSource)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<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>
</dd>
<dt><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">SimpleAuthorizationInfo</span></a> - Class in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">Simple POJO implementation of the <a href="org/apache/shiro/authz/AuthorizationInfo.html" title="interface in org.apache.shiro.authz"><code>AuthorizationInfo</code></a> interface that stores roles and permissions as internal
 attributes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#%3Cinit%3E()">SimpleAuthorizationInfo()</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Default no-argument constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#%3Cinit%3E(java.util.Set)">SimpleAuthorizationInfo(Set&lt;String&gt;)</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Creates a new instance with the specified roles and no permissions.</div>
</dd>
<dt><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential"><span class="typeNameLink">SimpleCredentialsMatcher</span></a> - Class in <a href="org/apache/shiro/authc/credential/package-summary.html">org.apache.shiro.authc.credential</a></dt>
<dd>
<div class="block">Simple CredentialsMatcher implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html#%3Cinit%3E()">SimpleCredentialsMatcher()</a></span> - Constructor for class org.apache.shiro.authc.credential.<a href="org/apache/shiro/authc/credential/SimpleCredentialsMatcher.html" title="class in org.apache.shiro.authc.credential">SimpleCredentialsMatcher</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject"><span class="typeNameLink">SimplePrincipalCollection</span></a> - Class in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">A simple implementation of the <a href="org/apache/shiro/subject/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>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#%3Cinit%3E()">SimplePrincipalCollection()</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#%3Cinit%3E(java.lang.Object,java.lang.String)">SimplePrincipalCollection(Object, String)</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#%3Cinit%3E(java.util.Collection,java.lang.String)">SimplePrincipalCollection(Collection, String)</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#%3Cinit%3E(org.apache.shiro.subject.PrincipalCollection)">SimplePrincipalCollection(PrincipalCollection)</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject"><span class="typeNameLink">SimplePrincipalMap</span></a> - Class in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">Default implementation of the <a href="org/apache/shiro/subject/PrincipalMap.html" title="interface in org.apache.shiro.subject"><code>PrincipalMap</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#%3Cinit%3E()">SimplePrincipalMap()</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#%3Cinit%3E(java.util.Map)">SimplePrincipalMap(Map&lt;String, Map&lt;String, Object&gt;&gt;)</a></span> - Constructor for class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">SimpleRole</span></a> - Class in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">A simple representation of a security role that has a name and a collection of permissions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#%3Cinit%3E()">SimpleRole()</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#%3Cinit%3E(java.lang.String)">SimpleRole(String)</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#%3Cinit%3E(java.lang.String,java.util.Set)">SimpleRole(String, Set&lt;Permission&gt;)</a></span> - Constructor for class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">SimpleSession</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">Simple <a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><code>Session</code></a> JavaBeans-compatible POJO implementation, intended to be used on the
 business/server tier.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#%3Cinit%3E()">SimpleSession()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#%3Cinit%3E(java.lang.String)">SimpleSession(String)</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/session/mgt/SimpleSessionFactory.html" title="class in org.apache.shiro.session.mgt"><span class="typeNameLink">SimpleSessionFactory</span></a> - Class in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block"><code>SessionFactory</code> implementation that generates <a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt"><code>SimpleSession</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSessionFactory.html#%3Cinit%3E()">SimpleSessionFactory()</a></span> - Constructor for class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSessionFactory.html" title="class in org.apache.shiro.session.mgt">SimpleSessionFactory</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#size()">size()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#size()">size()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#size(java.util.Collection)">size(Collection)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>
<div class="block">Returns the size of the specified collection or <code>0</code> if the collection is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/CollectionUtils.html#size(java.util.Map)">size(Map)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/CollectionUtils.html" title="class in org.apache.shiro.util">CollectionUtils</a></dt>
<dd>
<div class="block">Returns the size of the specified map or <code>0</code> if the map is <code>null</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/SessionsSecurityManager.html#start(org.apache.shiro.session.mgt.SessionContext)">start(SessionContext)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#start(org.apache.shiro.session.mgt.SessionContext)">start(SessionContext)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SessionManager.html#start(org.apache.shiro.session.mgt.SessionContext)">start(SessionContext)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt">SessionManager</a></dt>
<dd>
<div class="block">Starts a new session based on the specified contextual initialization data, which can be used by the underlying
 implementation to determine how exactly to create the internal Session instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#startReloadThread()">startReloadThread()</a></span> - Method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#stop()">stop()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#stop()">stop()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Immediately <a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()"><code>throws</code></a> an <code>InvalidSessionException</code> in all
 cases because this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#stop()">stop()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#stop()">stop()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#stop()">stop()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Explicitly stops (invalidates) this session and releases all associated resources.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#stop(org.apache.shiro.session.mgt.SessionKey)">stop(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#stop(org.apache.shiro.session.mgt.SessionKey)">stop(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Explicitly stops the associated session, thereby releasing all of its resources.</div>
</dd>
<dt><a href="org/apache/shiro/session/StoppedSessionException.html" title="class in org.apache.shiro.session"><span class="typeNameLink">StoppedSessionException</span></a> - Exception in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Exception thrown when attempting to interact with the system under a session that has been
 stopped.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/StoppedSessionException.html#%3Cinit%3E()">StoppedSessionException()</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/StoppedSessionException.html" title="class in org.apache.shiro.session">StoppedSessionException</a></dt>
<dd>
<div class="block">Creates a new StoppedSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/StoppedSessionException.html#%3Cinit%3E(java.lang.String)">StoppedSessionException(String)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/StoppedSessionException.html" title="class in org.apache.shiro.session">StoppedSessionException</a></dt>
<dd>
<div class="block">Constructs a new StoppedSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/StoppedSessionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">StoppedSessionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/StoppedSessionException.html" title="class in org.apache.shiro.session">StoppedSessionException</a></dt>
<dd>
<div class="block">Constructs a new StoppedSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/StoppedSessionException.html#%3Cinit%3E(java.lang.Throwable)">StoppedSessionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/StoppedSessionException.html" title="class in org.apache.shiro.session">StoppedSessionException</a></dt>
<dd>
<div class="block">Constructs a new StoppedSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#stopSession(org.apache.shiro.subject.Subject)">stopSession(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#storeSession(java.io.Serializable,org.apache.shiro.session.Session)">storeSession(Serializable, Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html#stringPermissions">stringPermissions</a></span> - Variable in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleAuthorizationInfo.html" title="class in org.apache.shiro.authz">SimpleAuthorizationInfo</a></dt>
<dd>
<div class="block">Collection of all string-based permissions associated with the account.</div>
</dd>
<dt><a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><span class="typeNameLink">Subject</span></a> - Interface in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">A <code>Subject</code> represents state and security operations for a <em>single</em> application user.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#SUBJECT_KEY">SUBJECT_KEY</a></span> - Static variable in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/Subject.Builder.html" title="class in org.apache.shiro.subject"><span class="typeNameLink">Subject.Builder</span></a> - Class in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">Builder design pattern implementation for creating <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instances in a simplified way without
 requiring knowledge of Shiro's construction techniques.</div>
</dd>
<dt><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent"><span class="typeNameLink">SubjectAwareExecutor</span></a> - Class in <a href="org/apache/shiro/concurrent/package-summary.html">org.apache.shiro.concurrent</a></dt>
<dd>
<div class="block"><code>Executor</code> implementation that will automatically first associate any argument
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a> instances with the currently available <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> and then
 dispatch the Subject-enabled runnable to an underlying delegate <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Executor</code></a>
 instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#%3Cinit%3E()">SubjectAwareExecutor()</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#%3Cinit%3E(java.util.concurrent.Executor)">SubjectAwareExecutor(Executor)</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent"><span class="typeNameLink">SubjectAwareExecutorService</span></a> - Class in <a href="org/apache/shiro/concurrent/package-summary.html">org.apache.shiro.concurrent</a></dt>
<dd>
<div class="block"><code>ExecutorService</code> implementation that will automatically first associate any argument
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a> or <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Callable</code></a> instances with the <a href="org/apache/shiro/concurrent/SubjectAwareExecutor.html#getSubject()"><code>currently available subject</code></a> and then
 dispatch the Subject-enabled runnable or callable to an underlying delegate
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ExecutorService</code></a> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#%3Cinit%3E()">SubjectAwareExecutorService()</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#%3Cinit%3E(java.util.concurrent.ExecutorService)">SubjectAwareExecutorService(ExecutorService)</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent"><span class="typeNameLink">SubjectAwareScheduledExecutorService</span></a> - Class in <a href="org/apache/shiro/concurrent/package-summary.html">org.apache.shiro.concurrent</a></dt>
<dd>
<div class="block">Same concept as the <a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent"><code>SubjectAwareExecutorService</code></a> but additionally supports the
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>ScheduledExecutorService</code></a> interface.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#%3Cinit%3E()">SubjectAwareScheduledExecutorService()</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html#%3Cinit%3E(java.util.concurrent.ScheduledExecutorService)">SubjectAwareScheduledExecutorService(ScheduledExecutorService)</a></span> - Constructor for class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareScheduledExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareScheduledExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">SubjectCallable</span></a>&lt;<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="type parameter in SubjectCallable">V</a>&gt; - Class in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">A <code>SubjectCallable</code> associates a <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> with a target/delegate
 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink"><code>Callable</code></a> to ensure proper <code>Subject</code> thread-state management when the <code>Callable</code> executes.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectCallable.html#%3Cinit%3E(org.apache.shiro.subject.Subject,java.util.concurrent.Callable)">SubjectCallable(Subject, Callable&lt;V&gt;)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support">SubjectCallable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectCallable.html#%3Cinit%3E(org.apache.shiro.util.ThreadState,java.util.concurrent.Callable)">SubjectCallable(ThreadState, Callable&lt;V&gt;)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support">SubjectCallable</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject"><span class="typeNameLink">SubjectContext</span></a> - Interface in <a href="org/apache/shiro/subject/package-summary.html">org.apache.shiro.subject</a></dt>
<dd>
<div class="block">A <code>SubjectContext</code> is a 'bucket' of data presented to a <a href="org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> which interprets
 this data to construct <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instances.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#subjectDAO">subjectDAO</a></span> - Variable in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt"><span class="typeNameLink">SubjectDAO</span></a> - Interface in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A <code>SubjectDAO</code> is responsible for persisting a Subject instance's internal state such that the Subject instance
 can be recreated at a later time if necessary.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#subjectFactory">subjectFactory</a></span> - Variable in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><span class="typeNameLink">SubjectFactory</span></a> - Interface in <a href="org/apache/shiro/mgt/package-summary.html">org.apache.shiro.mgt</a></dt>
<dd>
<div class="block">A <code>SubjectFactory</code> is responsible for constructing <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instances as needed.</div>
</dd>
<dt><a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">SubjectRunnable</span></a> - Class in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">A <code>SubjectRunnable</code> ensures that a target/delegate <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a> will execute such that any
 call to <code>SecurityUtils.</code><a href="org/apache/shiro/SecurityUtils.html#getSubject()"><code>getSubject()</code></a> during the
 <code>Runnable</code>'s execution will return the associated <code>Subject</code> instance.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectRunnable.html#%3Cinit%3E(org.apache.shiro.subject.Subject,java.lang.Runnable)">SubjectRunnable(Subject, Runnable)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support">SubjectRunnable</a></dt>
<dd>
<div class="block">Creates a new <code>SubjectRunnable</code> that, when executed, will execute the target <code>delegate</code>, but
 guarantees that it will run associated with the specified <code>Subject</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectRunnable.html#%3Cinit%3E(org.apache.shiro.util.ThreadState,java.lang.Runnable)">SubjectRunnable(ThreadState, Runnable)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support">SubjectRunnable</a></dt>
<dd>
<div class="block">Creates a new <code>SubjectRunnable</code> that, when executed, will perform thread state
 <a href="org/apache/shiro/util/ThreadState.html#bind()"><code>binding</code></a> and guaranteed <a href="org/apache/shiro/util/ThreadState.html#restore()"><code>restoration</code></a> before and after the
 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>Runnable</code></a>'s execution, respectively.</div>
</dd>
<dt><a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support"><span class="typeNameLink">SubjectThreadState</span></a> - Class in <a href="org/apache/shiro/subject/support/package-summary.html">org.apache.shiro.subject.support</a></dt>
<dd>
<div class="block">Manages thread-state for <a href="org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> access (supporting
 <code>SecurityUtils.</code><a href="org/apache/shiro/SecurityUtils.html#getSubject()"><code>getSubject()</code></a> calls)
 during a thread's execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectThreadState.html#%3Cinit%3E(org.apache.shiro.subject.Subject)">SubjectThreadState(Subject)</a></span> - Constructor for class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectThreadState.html" title="class in org.apache.shiro.subject.support">SubjectThreadState</a></dt>
<dd>
<div class="block">Creates a new <code>SubjectThreadState</code> that will bind and unbind the specified <code>Subject</code> to the
 thread</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#submit(java.lang.Runnable)">submit(Runnable)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#submit(java.lang.Runnable,T)">submit(Runnable, T)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html#submit(java.util.concurrent.Callable)">submit(Callable&lt;T&gt;)</a></span> - Method in class org.apache.shiro.concurrent.<a href="org/apache/shiro/concurrent/SubjectAwareExecutorService.html" title="class in org.apache.shiro.concurrent">SubjectAwareExecutorService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#SUBPART_DIVIDER_TOKEN">SUBPART_DIVIDER_TOKEN</a></span> - Static variable in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#SUN_CONNECTION_POOLING_PROPERTY">SUN_CONNECTION_POOLING_PROPERTY</a></span> - Static variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">The Sun LDAP property used to enable connection pooling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#SUN_CONNECTION_POOLING_PROPERTY">SUN_CONNECTION_POOLING_PROPERTY</a></span> - Static variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">The Sun LDAP property used to enable connection pooling.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html#supports(org.apache.shiro.aop.MethodInvocation)">supports(MethodInvocation)</a></span> - Method in class org.apache.shiro.aop.<a href="org/apache/shiro/aop/AnnotationMethodInterceptor.html" title="class in org.apache.shiro.aop">AnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Returns <code>true</code> if this interceptor supports, that is, should inspect, the specified
 <code>MethodInvocation</code>, <code>false</code> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/AuthenticatingRealm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports(AuthenticationToken)</a></span> - Method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/AuthenticatingRealm.html" title="class in org.apache.shiro.realm">AuthenticatingRealm</a></dt>
<dd>
<div class="block">Convenience implementation that returns
 <tt>getAuthenticationTokenClass().isAssignableFrom( token.getClass() );</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/Realm.html#supports(org.apache.shiro.authc.AuthenticationToken)">supports(AuthenticationToken)</a></span> - Method in interface org.apache.shiro.realm.<a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a></dt>
<dd>
<div class="block">Returns <tt>true</tt> if this realm wishes to authenticate the Subject represented by the given
 <a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> instance, <tt>false</tt> otherwise.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#systemPassword">systemPassword</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#systemPassword">systemPassword</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#systemUsername">systemUsername</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#systemUsername">systemUsername</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
</dl>
<a id="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text"><span class="typeNameLink">TextConfigurationRealm</span></a> - Class in <a href="org/apache/shiro/realm/text/package-summary.html">org.apache.shiro.realm.text</a></dt>
<dd>
<div class="block">A SimpleAccountRealm that enables text-based configuration of the initial User, Role, and Permission objects
 created at startup.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#%3Cinit%3E()">TextConfigurationRealm()</a></span> - Constructor for class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util"><span class="typeNameLink">ThreadContext</span></a> - Class in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">A ThreadContext provides a means of binding and unbinding objects to the
 current thread based on key/value pairs.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#%3Cinit%3E()">ThreadContext()</a></span> - Constructor for class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Default no-argument constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectCallable.html#threadState">threadState</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectCallable.html" title="class in org.apache.shiro.subject.support">SubjectCallable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/support/SubjectRunnable.html#threadState">threadState</a></span> - Variable in class org.apache.shiro.subject.support.<a href="org/apache/shiro/subject/support/SubjectRunnable.html" title="class in org.apache.shiro.subject.support">SubjectRunnable</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/util/ThreadState.html" title="interface in org.apache.shiro.util"><span class="typeNameLink">ThreadState</span></a> - Interface in <a href="org/apache/shiro/util/package-summary.html">org.apache.shiro.util</a></dt>
<dd>
<div class="block">A <code>ThreadState</code> instance manages any state that might need to be bound and/or restored during a thread's
 execution.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()">throwImmutableException()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Simply throws an <code>InvalidSessionException</code> indicating that this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#toLines(java.lang.String)">toLines(String)</a></span> - Static method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/TextConfigurationRealm.html#toMap(java.util.Collection)">toMap(Collection&lt;String&gt;)</a></span> - Static method in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/TextConfigurationRealm.html" title="class in org.apache.shiro.realm.text">TextConfigurationRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/PermissionUtils.html#toPermissionStrings(java.lang.String)">toPermissionStrings(String)</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/PermissionUtils.html" title="class in org.apache.shiro.util">PermissionUtils</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#toSet(java.lang.String,java.lang.String)">toSet(String, String)</a></span> - Static method in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAccount.html#toString()">toString()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAccount.html" title="class in org.apache.shiro.authc">SimpleAccount</a></dt>
<dd>
<div class="block">Returns <a href="org/apache/shiro/authc/SimpleAccount.html#getPrincipals()"><code>principals</code></a>.toString() if they are not null, otherwise prints out the string
 &quot;empty&quot;</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#toString()">toString()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html" title="class in org.apache.shiro.authc">SimpleAuthenticationInfo</a></dt>
<dd>
<div class="block">Simple implementation that merely returns <code><a href="org/apache/shiro/authc/SimpleAuthenticationInfo.html#getPrincipals()"><code>principals</code></a>.toString()</code></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#toString()">toString()</a></span> - Method in class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Returns the String representation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#toString()">toString()</a></span> - Method in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/SimpleRole.html#toString()">toString()</a></span> - Method in class org.apache.shiro.authz.<a href="org/apache/shiro/authz/SimpleRole.html" title="class in org.apache.shiro.authz">SimpleRole</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#toString()">toString()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>
<div class="block">Returns the string representation of this SimpleSession, equal to
 <code>getClass().getName() + &quot;,id=&quot; + getId()</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalCollection.html#toString()">toString()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalCollection.html" title="class in org.apache.shiro.subject">SimplePrincipalCollection</a></dt>
<dd>
<div class="block">Returns a simple string representation suitable for printing.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/DelegatingSession.html#touch()">touch()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/DelegatingSession.html" title="class in org.apache.shiro.session.mgt">DelegatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#touch()">touch()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html" title="class in org.apache.shiro.session.mgt">ImmutableProxiedSession</a></dt>
<dd>
<div class="block">Immediately <a href="org/apache/shiro/session/mgt/ImmutableProxiedSession.html#throwImmutableException()"><code>throws</code></a> an <code>InvalidSessionException</code> in all
 cases because this proxy is immutable.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#touch()">touch()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/ProxiedSession.html#touch()">touch()</a></span> - Method in class org.apache.shiro.session.<a href="org/apache/shiro/session/ProxiedSession.html" title="class in org.apache.shiro.session">ProxiedSession</a></dt>
<dd>
<div class="block">Immediately delegates to the underlying proxied session.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/Session.html#touch()">touch()</a></span> - Method in interface org.apache.shiro.session.<a href="org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</a></dt>
<dd>
<div class="block">Explicitly updates the <a href="org/apache/shiro/session/Session.html#getLastAccessTime()"><code>lastAccessTime</code></a> of this session to the current time when
 this method is invoked.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html#touch(org.apache.shiro.session.mgt.SessionKey)">touch(SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractNativeSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractNativeSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/NativeSessionManager.html#touch(org.apache.shiro.session.mgt.SessionKey)">touch(SessionKey)</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/NativeSessionManager.html" title="interface in org.apache.shiro.session.mgt">NativeSessionManager</a></dt>
<dd>
<div class="block">Updates the last accessed time of the session identified by <code>sessionId</code>.</div>
</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">UnauthenticatedException</span></a> - Exception in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">Exception thrown when attempting to execute an authorization action when a successful
 authentication hasn't yet occurred.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthenticatedException.html#%3Cinit%3E()">UnauthenticatedException()</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz">UnauthenticatedException</a></dt>
<dd>
<div class="block">Creates a new UnauthenticatedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthenticatedException.html#%3Cinit%3E(java.lang.String)">UnauthenticatedException(String)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz">UnauthenticatedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthenticatedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthenticatedException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnauthenticatedException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz">UnauthenticatedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthenticatedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthenticatedException.html#%3Cinit%3E(java.lang.Throwable)">UnauthenticatedException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthenticatedException.html" title="class in org.apache.shiro.authz">UnauthenticatedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthenticatedException.</div>
</dd>
<dt><a href="org/apache/shiro/authz/UnauthorizedException.html" title="class in org.apache.shiro.authz"><span class="typeNameLink">UnauthorizedException</span></a> - Exception in <a href="org/apache/shiro/authz/package-summary.html">org.apache.shiro.authz</a></dt>
<dd>
<div class="block">Thrown to indicate a requested operation or access to a requested resource is not allowed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthorizedException.html#%3Cinit%3E()">UnauthorizedException()</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthorizedException.html" title="class in org.apache.shiro.authz">UnauthorizedException</a></dt>
<dd>
<div class="block">Creates a new UnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthorizedException.html#%3Cinit%3E(java.lang.String)">UnauthorizedException(String)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthorizedException.html" title="class in org.apache.shiro.authz">UnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthorizedException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnauthorizedException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthorizedException.html" title="class in org.apache.shiro.authz">UnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthorizedException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/UnauthorizedException.html#%3Cinit%3E(java.lang.Throwable)">UnauthorizedException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authz.<a href="org/apache/shiro/authz/UnauthorizedException.html" title="class in org.apache.shiro.authz">UnauthorizedException</a></dt>
<dd>
<div class="block">Constructs a new UnauthorizedException.</div>
</dd>
<dt><a href="org/apache/shiro/UnavailableSecurityManagerException.html" title="class in org.apache.shiro"><span class="typeNameLink">UnavailableSecurityManagerException</span></a> - Exception in <a href="org/apache/shiro/package-summary.html">org.apache.shiro</a></dt>
<dd>
<div class="block">Exception thrown when attempting to acquire the application's <code>SecurityManager</code> instance, but Shiro's
 lookup heuristics cannot find one.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/UnavailableSecurityManagerException.html#%3Cinit%3E(java.lang.String)">UnavailableSecurityManagerException(String)</a></span> - Constructor for exception org.apache.shiro.<a href="org/apache/shiro/UnavailableSecurityManagerException.html" title="class in org.apache.shiro">UnavailableSecurityManagerException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/UnavailableSecurityManagerException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnavailableSecurityManagerException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.<a href="org/apache/shiro/UnavailableSecurityManagerException.html" title="class in org.apache.shiro">UnavailableSecurityManagerException</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">This constructor is NOT used by Shiro directly, and will be removed in the future.</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/jndi/JndiTemplate.html#unbind(java.lang.String)">unbind(String)</a></span> - Method in class org.apache.shiro.jndi.<a href="org/apache/shiro/jndi/JndiTemplate.html" title="class in org.apache.shiro.jndi">JndiTemplate</a></dt>
<dd>
<div class="block">Remove the binding for the given name from the current JNDI context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/mgt/DefaultSecurityManager.html#unbind(org.apache.shiro.subject.Subject)">unbind(Subject)</a></span> - Method in class org.apache.shiro.mgt.<a href="org/apache/shiro/mgt/DefaultSecurityManager.html" title="class in org.apache.shiro.mgt">DefaultSecurityManager</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in Shiro 1.2 in favor of <a href="org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)"><code>DefaultSecurityManager.delete(org.apache.shiro.subject.Subject)</code></a></div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#unbindSecurityManager()">unbindSecurityManager()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies removal of the application's SecurityManager instance from the thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/ThreadContext.html#unbindSubject()">unbindSubject()</a></span> - Static method in class org.apache.shiro.util.<a href="org/apache/shiro/util/ThreadContext.html" title="class in org.apache.shiro.util">ThreadContext</a></dt>
<dd>
<div class="block">Convenience method that simplifies removal of a thread-local Subject from the thread.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#uncache(org.apache.shiro.session.Session)">uncache(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Removes the specified Session from the cache.</div>
</dd>
<dt><a href="org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">UnknownAccountException</span></a> - Exception in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">Thrown when attempting to authenticate with a principal that doesn't exist in the system (e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UnknownAccountException.html#%3Cinit%3E()">UnknownAccountException()</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc">UnknownAccountException</a></dt>
<dd>
<div class="block">Creates a new UnknownAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UnknownAccountException.html#%3Cinit%3E(java.lang.String)">UnknownAccountException(String)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc">UnknownAccountException</a></dt>
<dd>
<div class="block">Constructs a new UnknownAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UnknownAccountException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnknownAccountException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc">UnknownAccountException</a></dt>
<dd>
<div class="block">Constructs a new UnknownAccountException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UnknownAccountException.html#%3Cinit%3E(java.lang.Throwable)">UnknownAccountException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.<a href="org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc">UnknownAccountException</a></dt>
<dd>
<div class="block">Constructs a new UnknownAccountException.</div>
</dd>
<dt><a href="org/apache/shiro/session/UnknownSessionException.html" title="class in org.apache.shiro.session"><span class="typeNameLink">UnknownSessionException</span></a> - Exception in <a href="org/apache/shiro/session/package-summary.html">org.apache.shiro.session</a></dt>
<dd>
<div class="block">Exception thrown when attempting to interact with the system under the pretense of a
 particular session (e.g.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/UnknownSessionException.html#%3Cinit%3E()">UnknownSessionException()</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/UnknownSessionException.html" title="class in org.apache.shiro.session">UnknownSessionException</a></dt>
<dd>
<div class="block">Creates a new UnknownSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/UnknownSessionException.html#%3Cinit%3E(java.lang.String)">UnknownSessionException(String)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/UnknownSessionException.html" title="class in org.apache.shiro.session">UnknownSessionException</a></dt>
<dd>
<div class="block">Constructs a new UnknownSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/UnknownSessionException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnknownSessionException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/UnknownSessionException.html" title="class in org.apache.shiro.session">UnknownSessionException</a></dt>
<dd>
<div class="block">Constructs a new UnknownSessionException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/UnknownSessionException.html#%3Cinit%3E(java.lang.Throwable)">UnknownSessionException(Throwable)</a></span> - Constructor for exception org.apache.shiro.session.<a href="org/apache/shiro/session/UnknownSessionException.html" title="class in org.apache.shiro.session">UnknownSessionException</a></dt>
<dd>
<div class="block">Constructs a new UnknownSessionException.</div>
</dd>
<dt><a href="org/apache/shiro/ldap/UnsupportedAuthenticationMechanismException.html" title="class in org.apache.shiro.ldap"><span class="typeNameLink">UnsupportedAuthenticationMechanismException</span></a> - Exception in <a href="org/apache/shiro/ldap/package-summary.html">org.apache.shiro.ldap</a></dt>
<dd>
<div class="block">Exception thrown when a configured LDAP
 <a href="http://download.oracle.com/javase/jndi/tutorial/ldap/security/auth.html">
 Authentication Mechanism</a> is unsupported by the target LDAP server.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/ldap/UnsupportedAuthenticationMechanismException.html#%3Cinit%3E(java.lang.String)">UnsupportedAuthenticationMechanismException(String)</a></span> - Constructor for exception org.apache.shiro.ldap.<a href="org/apache/shiro/ldap/UnsupportedAuthenticationMechanismException.html" title="class in org.apache.shiro.ldap">UnsupportedAuthenticationMechanismException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/ldap/UnsupportedAuthenticationMechanismException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnsupportedAuthenticationMechanismException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.ldap.<a href="org/apache/shiro/ldap/UnsupportedAuthenticationMechanismException.html" title="class in org.apache.shiro.ldap">UnsupportedAuthenticationMechanismException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html" title="class in org.apache.shiro.authc.pam"><span class="typeNameLink">UnsupportedTokenException</span></a> - Exception in <a href="org/apache/shiro/authc/pam/package-summary.html">org.apache.shiro.authc.pam</a></dt>
<dd>
<div class="block">Exception thrown during the authentication process when an
 <a href="org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc"><code>AuthenticationToken</code></a> implementation is encountered that is not
 supported by one or more configured <a href="org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><code>Realm</code></a>s.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html#%3Cinit%3E()">UnsupportedTokenException()</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html" title="class in org.apache.shiro.authc.pam">UnsupportedTokenException</a></dt>
<dd>
<div class="block">Creates a new UnsupportedTokenException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html#%3Cinit%3E(java.lang.String)">UnsupportedTokenException(String)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html" title="class in org.apache.shiro.authc.pam">UnsupportedTokenException</a></dt>
<dd>
<div class="block">Constructs a new UnsupportedTokenException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html#%3Cinit%3E(java.lang.String,java.lang.Throwable)">UnsupportedTokenException(String, Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html" title="class in org.apache.shiro.authc.pam">UnsupportedTokenException</a></dt>
<dd>
<div class="block">Constructs a new UnsupportedTokenException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html#%3Cinit%3E(java.lang.Throwable)">UnsupportedTokenException(Throwable)</a></span> - Constructor for exception org.apache.shiro.authc.pam.<a href="org/apache/shiro/authc/pam/UnsupportedTokenException.html" title="class in org.apache.shiro.authc.pam">UnsupportedTokenException</a></dt>
<dd>
<div class="block">Constructs a new UnsupportedTokenException.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#update(org.apache.shiro.session.Session)">update(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">CachingSessionDAO</a></dt>
<dd>
<div class="block">Updates the state of the given session to the EIS by first delegating to
 <a href="org/apache/shiro/session/mgt/eis/CachingSessionDAO.html#doUpdate(org.apache.shiro.session.Session)"><code>CachingSessionDAO.doUpdate(org.apache.shiro.session.Session)</code></a>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html#update(org.apache.shiro.session.Session)">update(Session)</a></span> - Method in class org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/MemorySessionDAO.html" title="class in org.apache.shiro.session.mgt.eis">MemorySessionDAO</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/eis/SessionDAO.html#update(org.apache.shiro.session.Session)">update(Session)</a></span> - Method in interface org.apache.shiro.session.mgt.eis.<a href="org/apache/shiro/session/mgt/eis/SessionDAO.html" title="interface in org.apache.shiro.session.mgt.eis">SessionDAO</a></dt>
<dd>
<div class="block">Updates (persists) data from a previously created Session instance in the EIS identified by
 <code>{@link Session#getId() session.getId()}</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html#url">url</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/AbstractLdapRealm.html" title="class in org.apache.shiro.realm.ldap">AbstractLdapRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html#url">url</a></span> - Variable in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/DefaultLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">DefaultLdapContextFactory</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/aop/UserAnnotationHandler.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">UserAnnotationHandler</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresUser.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresUser</code></a> annotation
 is declared, and if so, ensures the calling <code>Subject</code> is <em>either</em>
 <a href="org/apache/shiro/subject/Subject.html#isAuthenticated()"><code>authenticated</code></a> <b><em>or</em></b> remembered via remember
 me services before allowing access.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/UserAnnotationHandler.html#%3Cinit%3E()">UserAnnotationHandler()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/UserAnnotationHandler.html" title="class in org.apache.shiro.authz.aop">UserAnnotationHandler</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this handler looks for

 <a href="org/apache/shiro/authz/annotation/RequiresUser.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresUser</code></a> annotations.</div>
</dd>
<dt><a href="org/apache/shiro/authz/aop/UserAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop"><span class="typeNameLink">UserAnnotationMethodInterceptor</span></a> - Class in <a href="org/apache/shiro/authz/aop/package-summary.html">org.apache.shiro.authz.aop</a></dt>
<dd>
<div class="block">Checks to see if a @<a href="org/apache/shiro/authz/annotation/RequiresUser.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresUser</code></a> annotation
 is declared, and if so, ensures the calling <code>Subject</code> is <em>either</em>
 <a href="org/apache/shiro/subject/Subject.html#isAuthenticated()"><code>authenticated</code></a> <b><em>or</em></b> remembered via remember
 me services before invoking the method.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/UserAnnotationMethodInterceptor.html#%3Cinit%3E()">UserAnnotationMethodInterceptor()</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/UserAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">UserAnnotationMethodInterceptor</a></dt>
<dd>
<div class="block">Default no-argument constructor that ensures this interceptor looks for

 <a href="org/apache/shiro/authz/annotation/RequiresUser.html" title="annotation in org.apache.shiro.authz.annotation"><code>RequiresUser</code></a> annotations in a method
 declaration.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/aop/UserAnnotationMethodInterceptor.html#%3Cinit%3E(org.apache.shiro.aop.AnnotationResolver)">UserAnnotationMethodInterceptor(AnnotationResolver)</a></span> - Constructor for class org.apache.shiro.authz.aop.<a href="org/apache/shiro/authz/aop/UserAnnotationMethodInterceptor.html" title="class in org.apache.shiro.authz.aop">UserAnnotationMethodInterceptor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc"><span class="typeNameLink">UsernamePasswordToken</span></a> - Class in <a href="org/apache/shiro/authc/package-summary.html">org.apache.shiro.authc</a></dt>
<dd>
<div class="block">A simple username/password authentication token to support the most widely-used authentication mechanism.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E()">UsernamePasswordToken()</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">JavaBeans compatible no-arg constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,char%5B%5D)">UsernamePasswordToken(String, char[])</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted
 during an authentication attempt, with a <tt>null</tt> <a href="org/apache/shiro/authc/UsernamePasswordToken.html#getHost()"><code>host</code></a> and a
 <tt>rememberMe</tt> default of <tt>false</tt>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,char%5B%5D,boolean)">UsernamePasswordToken(String, char[], boolean)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, as well as if the user
 wishes their identity to be remembered across sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,char%5B%5D,boolean,java.lang.String)">UsernamePasswordToken(String, char[], boolean, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, if the user
 wishes their identity to be remembered across sessions, and the inetAddress from where the attempt is occurring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,char%5B%5D,java.lang.String)">UsernamePasswordToken(String, char[], String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, the
 inetAddress from where the attempt is occurring, and a default <tt>rememberMe</tt> value of <tt>false</tt></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,java.lang.String)">UsernamePasswordToken(String, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted
 during an authentication attempt, with a <tt>null</tt> <a href="org/apache/shiro/authc/UsernamePasswordToken.html#getHost()"><code>host</code></a> and
 a <tt>rememberMe</tt> default of <tt>false</tt></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,java.lang.String,boolean)">UsernamePasswordToken(String, String, boolean)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, as well as if the user
 wishes their identity to be remembered across sessions.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,java.lang.String,boolean,java.lang.String)">UsernamePasswordToken(String, String, boolean, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, if the user
 wishes their identity to be remembered across sessions, and the inetAddress from where the attempt is occurring.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authc/UsernamePasswordToken.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)">UsernamePasswordToken(String, String, String)</a></span> - Constructor for class org.apache.shiro.authc.<a href="org/apache/shiro/authc/UsernamePasswordToken.html" title="class in org.apache.shiro.authc">UsernamePasswordToken</a></dt>
<dd>
<div class="block">Constructs a new UsernamePasswordToken encapsulating the username and password submitted, the
 inetAddress from where the attempt is occurring, and a default <tt>rememberMe</tt> value of <tt>false</tt></div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.html#userRolesQuery">userRolesQuery</a></span> - Variable in class org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.html" title="class in org.apache.shiro.realm.jdbc">JdbcRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#users">users</a></span> - Variable in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/SimpleAccountRealm.html#USERS_LOCK">USERS_LOCK</a></span> - Variable in class org.apache.shiro.realm.<a href="org/apache/shiro/realm/SimpleAccountRealm.html" title="class in org.apache.shiro.realm">SimpleAccountRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/IniRealm.html#USERS_SECTION_NAME">USERS_SECTION_NAME</a></span> - Static variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/IniRealm.html" title="class in org.apache.shiro.realm.text">IniRealm</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/text/PropertiesRealm.html#useXmlFormat">useXmlFormat</a></span> - Variable in class org.apache.shiro.realm.text.<a href="org/apache/shiro/realm/text/PropertiesRealm.html" title="class in org.apache.shiro.realm.text">PropertiesRealm</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/SimpleSession.html#validate()">validate()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ValidatingSession.html#validate()">validate()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#validate(org.apache.shiro.session.Session,org.apache.shiro.session.mgt.SessionKey)">validate(Session, SessionKey)</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html#validateAuthenticationInfo(java.util.Hashtable)">validateAuthenticationInfo(Hashtable&lt;String, Object&gt;)</a></span> - Method in class org.apache.shiro.realm.ldap.<a href="org/apache/shiro/realm/ldap/JndiLdapContextFactory.html" title="class in org.apache.shiro.realm.ldap">JndiLdapContextFactory</a></dt>
<dd>
<div class="block">Validates the configuration in the JNDI <code>environment</code> settings and throws an exception if a problem
 exists.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html#validateSessions()">validateSessions()</a></span> - Method in class org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/AbstractValidatingSessionManager.html" title="class in org.apache.shiro.session.mgt">AbstractValidatingSessionManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html#validateSessions()">validateSessions()</a></span> - Method in interface org.apache.shiro.session.mgt.<a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html" title="interface in org.apache.shiro.session.mgt">ValidatingSessionManager</a></dt>
<dd>
<div class="block">Performs session validation for all open/active sessions in the system (those that
 have not been stopped or expired), and validates each one.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">ValidatingSession</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A <code>ValidatingSession</code> is a <code>Session</code> that is capable of determining it is valid or not and
 is able to validate itself if necessary.</div>
</dd>
<dt><a href="org/apache/shiro/session/mgt/ValidatingSessionManager.html" title="interface in org.apache.shiro.session.mgt"><span class="typeNameLink">ValidatingSessionManager</span></a> - Interface in <a href="org/apache/shiro/session/mgt/package-summary.html">org.apache.shiro.session.mgt</a></dt>
<dd>
<div class="block">A ValidatingSessionManager is a SessionManager that can proactively validate any or all sessions
 that may be expired.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/RequiresPermissions.html#value()">value()</a></span> - Method in annotation type org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/RequiresPermissions.html" title="annotation in org.apache.shiro.authz.annotation">RequiresPermissions</a></dt>
<dd>
<div class="block">The permission string which will be passed to <a href="org/apache/shiro/subject/Subject.html#isPermitted(java.lang.String)"><code>Subject.isPermitted(String)</code></a>
 to determine if the user is allowed to invoke the code protected by this annotation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/RequiresRoles.html#value()">value()</a></span> - Method in annotation type org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/RequiresRoles.html" title="annotation in org.apache.shiro.authz.annotation">RequiresRoles</a></dt>
<dd>
<div class="block">A single String role name or multiple comma-delimited role names required in order for the method
 invocation to be allowed.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/Logical.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/Logical.html" title="enum in org.apache.shiro.authz.annotation">Logical</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/annotation/Logical.html#values()">values()</a></span> - Static method in enum org.apache.shiro.authz.annotation.<a href="org/apache/shiro/authz/annotation/Logical.html" title="enum in org.apache.shiro.authz.annotation">Logical</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html#values()">values()</a></span> - Static method in enum org.apache.shiro.realm.jdbc.<a href="org/apache/shiro/realm/jdbc/JdbcRealm.SaltStyle.html" title="enum in org.apache.shiro.realm.jdbc">JdbcRealm.SaltStyle</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/subject/SimplePrincipalMap.html#values()">values()</a></span> - Method in class org.apache.shiro.subject.<a href="org/apache/shiro/subject/SimplePrincipalMap.html" title="class in org.apache.shiro.subject">SimplePrincipalMap</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/util/MapContext.html#values()">values()</a></span> - Method in class org.apache.shiro.util.<a href="org/apache/shiro/util/MapContext.html" title="class in org.apache.shiro.util">MapContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#WILDCARD_TOKEN">WILDCARD_TOKEN</a></span> - Static variable in class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission"><span class="typeNameLink">WildcardPermission</span></a> - Class in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block">A <code>WildcardPermission</code> is a very flexible permission construct supporting multiple levels of
 permission matching.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#%3Cinit%3E()">WildcardPermission()</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>
<div class="block">Default no-arg constructor for subclasses only - end-user developers instantiating Permission instances must
 provide a wildcard string at a minimum, since Permission instances are immutable once instantiated.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#%3Cinit%3E(java.lang.String)">WildcardPermission(String)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermission.html#%3Cinit%3E(java.lang.String,boolean)">WildcardPermission(String, boolean)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission">WildcardPermission</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission"><span class="typeNameLink">WildcardPermissionResolver</span></a> - Class in <a href="org/apache/shiro/authz/permission/package-summary.html">org.apache.shiro.authz.permission</a></dt>
<dd>
<div class="block"><tt>PermissionResolver</tt> implementation that returns a new <a href="org/apache/shiro/authz/permission/WildcardPermission.html" title="class in org.apache.shiro.authz.permission"><code>WildcardPermission</code></a>
 based on the input string.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html#%3Cinit%3E()">WildcardPermissionResolver()</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission">WildcardPermissionResolver</a></dt>
<dd>
<div class="block">Default constructor.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html#%3Cinit%3E(boolean)">WildcardPermissionResolver(boolean)</a></span> - Constructor for class org.apache.shiro.authz.permission.<a href="org/apache/shiro/authz/permission/WildcardPermissionResolver.html" title="class in org.apache.shiro.authz.permission">WildcardPermissionResolver</a></dt>
<dd>
<div class="block">Constructor to specify case sensitivity for the resolved premissions.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:Q">Q</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</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>
