blob: 6a94fab663782cf6d9819c017e6d13b3b758a801 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Uses of Interface org.apache.shiro.subject.Subject (Apache Shiro :: Core 1.10.1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Interface org.apache.shiro.subject.Subject (Apache Shiro :: Core 1.10.1 API)";
}
}
catch(err) {
}
//-->
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav"><!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ /* We explicitly disable cookie tracking to avoid privacy issues */ _paq.push(['disableCookies']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//matomo.privacy.apache.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '2']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code -->
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Subject.html" title="interface in org.apache.shiro.subject">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h2 title="Uses of Interface org.apache.shiro.subject.Subject" class="title">Uses of Interface<br>org.apache.shiro.subject.Subject</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary">
<caption><span>Packages that use <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro">org.apache.shiro</a></th>
<td class="colLast">
<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="../../SecurityUtils.html" title="class in org.apache.shiro"><code>SecurityUtils</code></a> and
<code>ShiroException</code>.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.aop">org.apache.shiro.aop</a></th>
<td class="colLast">
<div class="block">Components used to support the framework's AOP/interception support classes.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.concurrent">org.apache.shiro.concurrent</a></th>
<td class="colLast">
<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="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> association with threads in an asynchronous execution environment.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.mgt">org.apache.shiro.mgt</a></th>
<td class="colLast">
<div class="block">Provides the master <a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> interface and a default implementation
hierarchy for managing all aspects of Shiro's functionality in an application.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.subject">org.apache.shiro.subject</a></th>
<td class="colLast">
<div class="block">Components supporting the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> interface, the most important concept in
Shiro's API.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.subject.support">org.apache.shiro.subject.support</a></th>
<td class="colLast">
<div class="block">Concrete support implementations of most of the <code>org.apache.shiro.subject</code> interfaces.</div>
</td>
</tr>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="#org.apache.shiro.util">org.apache.shiro.util</a></th>
<td class="colLast">
<div class="block">Your run-of-the-mill 'util' package for components and logic widely used across the framework that can't
find their home into a proper OO hierarchy (or, most likely for things used across many hierarchies).</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList">
<section><a id="org.apache.shiro">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../../package-summary.html">org.apache.shiro</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../package-summary.html">org.apache.shiro</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SecurityUtils.</span><code><span class="memberNameLink"><a href="../../SecurityUtils.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the currently accessible <code>Subject</code> available to the calling code depending on
runtime environment.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.aop">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../../aop/package-summary.html">org.apache.shiro.aop</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../aop/package-summary.html">org.apache.shiro.aop</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AnnotationHandler.</span><code><span class="memberNameLink"><a href="../../aop/AnnotationHandler.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> associated with the currently-executing code.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">MethodInterceptorSupport.</span><code><span class="memberNameLink"><a href="../../aop/MethodInterceptorSupport.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> associated with the currently-executing code.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.concurrent">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../../concurrent/package-summary.html">org.apache.shiro.concurrent</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../concurrent/package-summary.html">org.apache.shiro.concurrent</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectAwareExecutor.</span><code><span class="memberNameLink"><a href="../../concurrent/SubjectAwareExecutor.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.mgt">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">createSubject</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;existing)</code></th>
<td class="colLast">
<div class="block">Creates a <code>Subject</code> instance for the user represented by the given method arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;subjectContext)</code></th>
<td class="colLast">
<div class="block">This implementation functions as follows:</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectFactory.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;context)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/SecurityManager.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Creates a <code>Subject</code> instance reflecting the specified contextual data.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectFactory.</span><code><span class="memberNameLink"><a href="../../mgt/SubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Creates a new Subject instance reflecting the state of the specified contextual data.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)">doCreateSubject</a></span>&#8203;(<a href="../SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Actually creates a <code>Subject</code> instance by delegating to the internal
<a href="../../mgt/DefaultSecurityManager.html#getSubjectFactory()"><code>subjectFactory</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/SecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;authenticationToken)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectFactory.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectFactory.html#newSubjectInstance(org.apache.shiro.subject.PrincipalCollection,boolean,java.lang.String,org.apache.shiro.session.Session,org.apache.shiro.mgt.SecurityManager)">newSubjectInstance</a></span>&#8203;(<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;principals,
boolean&nbsp;authenticated,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;host,
<a href="../../session/Session.html" title="interface in org.apache.shiro.session">Session</a>&nbsp;session,
<a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a>&nbsp;securityManager)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 1.2 - override <a href="../../mgt/DefaultSubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)"><code>DefaultSubjectFactory.createSubject(org.apache.shiro.subject.SubjectContext)</code></a> directly if you
need to instantiate a custom <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> class.</div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#save(org.apache.shiro.subject.Subject)">save</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Saves the subject's state to the subject's <a href="../Subject.html#getSession()"><code>session</code></a> only
if <a href="../../mgt/DefaultSubjectDAO.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)"><code>sessionStorageEnabled(subject)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/SubjectDAO.html#save(org.apache.shiro.subject.Subject)">save</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Persists the specified Subject's state for later access.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../mgt/package-summary.html">org.apache.shiro.mgt</a> with parameters of type <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#beforeLogout(org.apache.shiro.subject.Subject)">beforeLogout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#bind(org.apache.shiro.subject.Subject)">bind</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in favor of <a href="../../mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><code>save(subject)</code></a>.</div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">createSubject</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;existing)</code></th>
<td class="colLast">
<div class="block">Creates a <code>Subject</code> instance for the user represented by the given method arguments.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)">delete</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Removes (or 'unbinds') the Subject's state from the application, typically called during <a href="../../mgt/DefaultSecurityManager.html#logout(org.apache.shiro.subject.Subject)"><code>DefaultSecurityManager.logout(org.apache.shiro.subject.Subject)</code></a>..</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#delete(org.apache.shiro.subject.Subject)">delete</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Removes any existing subject state from the subject's session (if the session exists).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/SubjectDAO.html#delete(org.apache.shiro.subject.Subject)">delete</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Removes any persisted state for the specified <code>Subject</code> instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)">forgetIdentity</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Forgets (removes) any remembered identity data for the specified <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#getIdentityToRemember(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationInfo)">getIdentityToRemember</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info)</code></th>
<td class="colLast">
<div class="block">Returns <code>info</code>.<a href="../../authc/AuthenticationInfo.html#getPrincipals()"><code>getPrincipals()</code></a> and
ignores the <a href="../Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> argument.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSessionStorageEvaluator.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSessionStorageEvaluator.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<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="../../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>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Determines if the subject's session will be used to persist subject state or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SessionStorageEvaluator.</span><code><span class="memberNameLink"><a href="../../mgt/SessionStorageEvaluator.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)">isSessionStorageEnabled</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Returns <code>true</code> if the specified <code>Subject</code>'s
<a href="../Subject.html#getSession()"><code>session</code></a> may be used to persist that Subject's
state, <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/SecurityManager.html#login(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken)">login</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;authenticationToken)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#logout(org.apache.shiro.subject.Subject)">logout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/SecurityManager.html#logout(org.apache.shiro.subject.Subject)">logout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Logs out the specified Subject from the system.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#mergeAuthenticationState(org.apache.shiro.subject.Subject)">mergeAuthenticationState</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Merges the Subject's current authentication state with whatever may be in
any available session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#mergePrincipals(org.apache.shiro.subject.Subject)">mergePrincipals</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Merges the Subject's current <a href="../Subject.html#getPrincipals()"><code>getPrincipals()</code></a> with whatever may be in
any available session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a>&nbsp;ae)</code></th>
<td class="colLast">
<div class="block">Reacts to a failed login by immediately <a href="../../mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any
previously remembered identity.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#onFailedLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException,org.apache.shiro.subject.Subject)">onFailedLogin</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a>&nbsp;ae,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/RememberMeManager.html#onFailedLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException)">onFailedLogin</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a>&nbsp;ae)</code></th>
<td class="colLast">
<div class="block">Reacts to a failed authentication attempt, typically by forgetting any previously remembered principals for the
Subject.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#onLogout(org.apache.shiro.subject.Subject)">onLogout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Reacts to a subject logging out of the application and immediately
<a href="../../mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgets</code></a> any previously stored identity and returns.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/RememberMeManager.html#onLogout(org.apache.shiro.subject.Subject)">onLogout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Reacts to a Subject logging out of the application, typically by forgetting any previously remembered
principals for the Subject.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info)</code></th>
<td class="colLast">
<div class="block">Reacts to the successful login attempt by first always <a href="../../mgt/AbstractRememberMeManager.html#forgetIdentity(org.apache.shiro.subject.Subject)"><code>forgetting</code></a> any previously
stored identity.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#onSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">onSuccessfulLogin</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">RememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/RememberMeManager.html#onSuccessfulLogin(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">onSuccessfulLogin</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info)</code></th>
<td class="colLast">
<div class="block">Reacts to a successful authentication attempt, typically saving the principals to be retrieved ('remembered')
for future system access.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">rememberIdentity</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;authcInfo)</code></th>
<td class="colLast">
<div class="block">Remembers a subject-unique identity for retrieval later.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#rememberIdentity(org.apache.shiro.subject.Subject,org.apache.shiro.subject.PrincipalCollection)">rememberIdentity</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<a href="../PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</a>&nbsp;accountPrincipals)</code></th>
<td class="colLast">
<div class="block">Remembers the specified account principals by first
<a href="../../mgt/AbstractRememberMeManager.html#convertPrincipalsToBytes(org.apache.shiro.subject.PrincipalCollection)"><code>converting</code></a> them to a byte
array and then <a href="../../mgt/AbstractRememberMeManager.html#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)"><code>remembers</code></a> that
byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#rememberMeFailedLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationException,org.apache.shiro.subject.Subject)">rememberMeFailedLogin</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a>&nbsp;ex,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#rememberMeLogout(org.apache.shiro.subject.Subject)">rememberMeLogout</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#rememberMeSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.subject.Subject)">rememberMeSuccessfulLogin</a></span>&#8203;(<a href="../../authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
<a href="../../authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;info,
<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">AbstractRememberMeManager.</span><code><span class="memberNameLink"><a href="../../mgt/AbstractRememberMeManager.html#rememberSerializedIdentity(org.apache.shiro.subject.Subject,byte%5B%5D)">rememberSerializedIdentity</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
byte[]&nbsp;serialized)</code></th>
<td class="colLast">
<div class="block">Persists the identity bytes to a persistent store for retrieval later via the
<a href="../../mgt/AbstractRememberMeManager.html#getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)"><code>AbstractRememberMeManager.getRememberedSerializedIdentity(SubjectContext)</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#removeFromSession(org.apache.shiro.subject.Subject)">removeFromSession</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Removes any existing subject state from the Subject's session (if the session exists).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)">save</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Saves the subject's state to a persistent location for future reference if necessary.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#save(org.apache.shiro.subject.Subject)">save</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Saves the subject's state to the subject's <a href="../Subject.html#getSession()"><code>session</code></a> only
if <a href="../../mgt/DefaultSubjectDAO.html#isSessionStorageEnabled(org.apache.shiro.subject.Subject)"><code>sessionStorageEnabled(subject)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/SubjectDAO.html#save(org.apache.shiro.subject.Subject)">save</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Persists the specified Subject's state for later access.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectDAO.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSubjectDAO.html#saveToSession(org.apache.shiro.subject.Subject)">saveToSession</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Saves the subject's state (it's principals and authentication state) to its
<a href="../Subject.html#getSession()"><code>session</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#stopSession(org.apache.shiro.subject.Subject)">stopSession</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSecurityManager.</span><code><span class="memberNameLink"><a href="../../mgt/DefaultSecurityManager.html#unbind(org.apache.shiro.subject.Subject)">unbind</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in Shiro 1.2 in favor of <a href="../../mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)"><code>DefaultSecurityManager.delete(org.apache.shiro.subject.Subject)</code></a></div>
</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.subject">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../package-summary.html">org.apache.shiro.subject</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.shiro.subject</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">Subject.Builder.</span><code><span class="memberNameLink"><a href="../Subject.Builder.html#buildSubject()">buildSubject</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectContext.</span><code><span class="memberNameLink"><a href="../SubjectContext.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../package-summary.html">org.apache.shiro.subject</a> with parameters of type <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectContext.</span><code><span class="memberNameLink"><a href="../SubjectContext.html#setSubject(org.apache.shiro.subject.Subject)">setSubject</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<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>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.subject.support">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a></h3>
<table class="useSummary">
<caption><span>Classes in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> that implement <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/DelegatingSubject.html" title="class in org.apache.shiro.subject.support">DelegatingSubject</a></span></code></th>
<td class="colLast">
<div class="block">Implementation of the <code>Subject</code> interface that delegates
method calls to an underlying <a href="../../mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> instance for security checks.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectContext.</span><code><span class="memberNameLink"><a href="../support/DefaultSubjectContext.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">SubjectThreadState.</span><code><span class="memberNameLink"><a href="../support/SubjectThreadState.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the <code>Subject</code> instance managed by this <code>ThreadState</code> implementation.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> with parameters of type <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">DefaultSubjectContext.</span><code><span class="memberNameLink"><a href="../support/DefaultSubjectContext.html#setSubject(org.apache.shiro.subject.Subject)">setSubject</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Constructors in <a href="../support/package-summary.html">org.apache.shiro.subject.support</a> with parameters of type <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/SubjectCallable.html#%3Cinit%3E(org.apache.shiro.subject.Subject,java.util.concurrent.Callable)">SubjectCallable</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<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">Callable</a>&lt;<a href="../support/SubjectCallable.html" title="type parameter in SubjectCallable">V</a>&gt;&nbsp;delegate)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/SubjectRunnable.html#%3Cinit%3E(org.apache.shiro.subject.Subject,java.lang.Runnable)">SubjectRunnable</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject,
<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">Runnable</a>&nbsp;delegate)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr class="altColor">
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../support/SubjectThreadState.html#%3Cinit%3E(org.apache.shiro.subject.Subject)">SubjectThreadState</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Creates a new <code>SubjectThreadState</code> that will bind and unbind the specified <code>Subject</code> to the
thread</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
<li class="blockList">
<section><a id="org.apache.shiro.util">
<!-- -->
</a>
<h3>Uses of <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a> in <a href="../../util/package-summary.html">org.apache.shiro.util</a></h3>
<table class="useSummary">
<caption><span>Methods in <a href="../../util/package-summary.html">org.apache.shiro.util</a> that return <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ThreadContext.</span><code><span class="memberNameLink"><a href="../../util/ThreadContext.html#getSubject()">getSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Convenience method that simplifies retrieval of a thread-bound Subject.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ThreadContext.</span><code><span class="memberNameLink"><a href="../../util/ThreadContext.html#unbindSubject()">unbindSubject</a></span>()</code></th>
<td class="colLast">
<div class="block">Convenience method that simplifies removal of a thread-local Subject from the thread.</div>
</td>
</tr>
</tbody>
</table>
<table class="useSummary">
<caption><span>Methods in <a href="../../util/package-summary.html">org.apache.shiro.util</a> with parameters of type <a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><span class="typeNameLabel">ThreadContext.</span><code><span class="memberNameLink"><a href="../../util/ThreadContext.html#bind(org.apache.shiro.subject.Subject)">bind</a></span>&#8203;(<a href="../Subject.html" title="interface in org.apache.shiro.subject">Subject</a>&nbsp;subject)</code></th>
<td class="colLast">
<div class="block">Convenience method that simplifies binding a Subject to the ThreadContext.</div>
</td>
</tr>
</tbody>
</table>
</section>
</li>
</ul>
</li>
</ul>
</div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../Subject.html" title="interface in org.apache.shiro.subject">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>