blob: 6d254ea368fd3b9c90dfceeda9aa04a4c2702f9f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_65) on Tue Feb 25 18:15:48 EST 2014 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
DefaultSecurityManager (Apache Shiro 1.2.3 API)
</TITLE>
<META NAME="date" CONTENT="2014-02-25">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="DefaultSecurityManager (Apache Shiro 1.2.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultSecurityManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/mgt/DefaultSecurityManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DefaultSecurityManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.shiro.mgt</FONT>
<BR>
Class DefaultSecurityManager</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.CachingSecurityManager</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.RealmSecurityManager</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.AuthenticatingSecurityManager</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.AuthorizingSecurityManager</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.SessionsSecurityManager</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.shiro.mgt.DefaultSecurityManager</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</A>, <A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</A>, <A HREF="../../../../org/apache/shiro/cache/CacheManagerAware.html" title="interface in org.apache.shiro.cache">CacheManagerAware</A>, <A HREF="../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</A>, <A HREF="../../../../org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt">SessionManager</A>, <A HREF="../../../../org/apache/shiro/util/Destroyable.html" title="interface in org.apache.shiro.util">Destroyable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/shiro/web/mgt/DefaultWebSecurityManager.html" title="class in org.apache.shiro.web.mgt">DefaultWebSecurityManager</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.71"><B>DefaultSecurityManager</B></A><DT>extends <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</A></DL>
</PRE>
<P>
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. This implementation delegates its
authentication, authorization, and session operations to wrapped <A HREF="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><CODE>Authenticator</CODE></A>, <A HREF="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz"><CODE>Authorizer</CODE></A>, and
<A HREF="../../../../org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt"><CODE>SessionManager</CODE></A> instances respectively via superclass
implementation.
<p/>
To greatly reduce and simplify configuration, this implementation (and its superclasses) will
create suitable defaults for all of its required dependencies, <em>except</em> the required one or more
<A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm"><CODE>Realm</CODE></A>s. Because <code>Realm</code> implementations usually interact with an application's data model,
they are almost always application specific; you will want to specify at least one custom
<code>Realm</code> implementation that 'knows' about your application's data/security model
(via <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#setRealm(org.apache.shiro.realm.Realm)"><CODE>RealmSecurityManager.setRealm(org.apache.shiro.realm.Realm)</CODE></A> or one of the overloaded constructors). All other attributes in this class hierarchy
will have suitable defaults for most enterprise applications.
<p/>
<b>RememberMe notice</b>: This class supports the ability to configure a
<A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setRememberMeManager(org.apache.shiro.mgt.RememberMeManager)"><CODE>RememberMeManager</CODE></A>
for <code>RememberMe</code> identity services for login/logout, BUT, a default instance <em>will not</em> be created
for this attribute at startup.
<p/>
Because RememberMe services are inherently client tier-specific and
therefore aplication-dependent, if you want <code>RememberMe</code> services enabled, you will have to specify an
instance yourself via the <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setRememberMeManager(org.apache.shiro.mgt.RememberMeManager)"><CODE>setRememberMeManager</CODE></A>
mutator. However if you're reading this JavaDoc with the
expectation of operating in a Web environment, take a look at the
<code>org.apache.shiro.web.DefaultWebSecurityManager</code> implementation, which
<em>does</em> support <code>RememberMe</code> services by default at startup.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.2</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeManager">rememberMeManager</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#subjectDAO">subjectDAO</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#subjectFactory">subjectFactory</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#DefaultSecurityManager()">DefaultSecurityManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default no-arg constructor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#DefaultSecurityManager(java.util.Collection)">DefaultSecurityManager</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</A>&gt;&nbsp;realms)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Supporting constructor for multiple <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)"><CODE>realms</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#DefaultSecurityManager(org.apache.shiro.realm.Realm)">DefaultSecurityManager</A></B>(<A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</A>&nbsp;singleRealm)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Supporting constructor for a single-realm application.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#beforeLogout(org.apache.shiro.subject.Subject)">beforeLogout</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#bind(org.apache.shiro.subject.Subject)">bind</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>in favor of <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(subject)</CODE></A>.</I></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#copy(org.apache.shiro.subject.SubjectContext)">copy</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#createSessionContext(org.apache.shiro.subject.SubjectContext)">createSessionContext</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A></CODE></FONT></TD>
<TD><CODE><B><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</A></B>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;existing)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <code>Subject</code> instance for the user represented by the given method arguments.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#createSubject(org.apache.shiro.subject.SubjectContext)">createSubject</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This implementation functions as follows:
<p/>
Ensures the <code>SubjectContext</code> is as populated as it can be, using heuristics to acquire
data that may not have already been available to it (such as a referenced session or remembered principals).
Calls <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)"><CODE>doCreateSubject(org.apache.shiro.subject.SubjectContext)</CODE></A> to actually perform the
<code>Subject</code> instance creation.
calls <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(subject)</CODE></A> to ensure the constructed
<code>Subject</code>'s state is accessible for future requests/invocations if necessary.
returns the constructed <code>Subject</code> instance.
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#createSubjectContext()">createSubjectContext</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)">delete</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>logout(org.apache.shiro.subject.Subject)</CODE></A>..</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)">doCreateSubject</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#ensureSecurityManager(org.apache.shiro.subject.SubjectContext)">ensureSecurityManager</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if there is a <code>SecurityManager</code> instance in the context, and if not, adds 'this' to the
context.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getRememberedIdentity(org.apache.shiro.subject.SubjectContext)">getRememberedIdentity</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getRememberMeManager()">getRememberMeManager</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/session/mgt/SessionKey.html" title="interface in org.apache.shiro.session.mgt">SessionKey</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getSessionKey(org.apache.shiro.subject.SubjectContext)">getSessionKey</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectDAO()">getSubjectDAO</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectFactory()">getSubjectFactory</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#login(org.apache.shiro.subject.Subject, org.apache.shiro.authc.AuthenticationToken)">login</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;First authenticates the <code>AuthenticationToken</code> argument, and if successful, constructs a
<code>Subject</code> instance representing the authenticated account's identity.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#logout(org.apache.shiro.subject.Subject)">logout</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Logs out the specified Subject from the system.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#onFailedLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationException, org.apache.shiro.subject.Subject)">onFailedLogin</A></B>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A>&nbsp;ae,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#onSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo, org.apache.shiro.subject.Subject)">onSuccessfulLogin</A></B>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeFailedLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationException, org.apache.shiro.subject.Subject)">rememberMeFailedLogin</A></B>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A>&nbsp;ex,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeLogout(org.apache.shiro.subject.Subject)">rememberMeLogout</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#rememberMeSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo, org.apache.shiro.subject.Subject)">rememberMeSuccessfulLogin</A></B>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#resolveContextSession(org.apache.shiro.subject.SubjectContext)">resolveContextSession</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#resolvePrincipals(org.apache.shiro.subject.SubjectContext)">resolvePrincipals</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#resolveSession(org.apache.shiro.subject.SubjectContext)">resolveSession</A></B>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)">save</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Saves the subject's state to a persistent location for future reference if necessary.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setRememberMeManager(org.apache.shiro.mgt.RememberMeManager)">setRememberMeManager</A></B>(<A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A>&nbsp;rememberMeManager)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectDAO(org.apache.shiro.mgt.SubjectDAO)">setSubjectDAO</A></B>(<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A>&nbsp;subjectDAO)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectFactory(org.apache.shiro.mgt.SubjectFactory)">setSubjectFactory</A></B>(<A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A>&nbsp;subjectFactory)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#stopSession(org.apache.shiro.subject.Subject)">stopSession</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#unbind(org.apache.shiro.subject.Subject)">unbind</A></B>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>in Shiro 1.2 in favor of <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)"><CODE>delete(org.apache.shiro.subject.Subject)</CODE></A></I></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.mgt.SessionsSecurityManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.mgt.<A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html" title="class in org.apache.shiro.mgt">SessionsSecurityManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#afterCacheManagerSet()">afterCacheManagerSet</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#afterSessionManagerSet()">afterSessionManagerSet</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#applyCacheManagerToSessionManager()">applyCacheManagerToSessionManager</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#destroy()">destroy</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#getSession(org.apache.shiro.session.mgt.SessionKey)">getSession</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#getSessionManager()">getSessionManager</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#setSessionManager(org.apache.shiro.session.mgt.SessionManager)">setSessionManager</A>, <A HREF="../../../../org/apache/shiro/mgt/SessionsSecurityManager.html#start(org.apache.shiro.session.mgt.SessionContext)">start</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.mgt.AuthorizingSecurityManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.mgt.<A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#afterRealmsSet()">afterRealmsSet</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">checkPermission</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkPermission</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkPermissions</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkPermissions</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">checkRole</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">checkRoles</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">checkRoles</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#getAuthorizer()">getAuthorizer</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">hasAllRoles</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">hasRole</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)">hasRoles</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)">isPermitted</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)">isPermitted</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermitted</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)">isPermitted</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)">isPermittedAll</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String...)">isPermittedAll</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html#setAuthorizer(org.apache.shiro.authz.Authorizer)">setAuthorizer</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.mgt.AuthenticatingSecurityManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.mgt.<A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthenticatingSecurityManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#authenticate(org.apache.shiro.authc.AuthenticationToken)">authenticate</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#getAuthenticator()">getAuthenticator</A>, <A HREF="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#setAuthenticator(org.apache.shiro.authc.Authenticator)">setAuthenticator</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.mgt.RealmSecurityManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.mgt.<A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#applyCacheManagerToRealms()">applyCacheManagerToRealms</A>, <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#getRealms()">getRealms</A>, <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#setRealm(org.apache.shiro.realm.Realm)">setRealm</A>, <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)">setRealms</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.mgt.CachingSecurityManager"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.mgt.<A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager()">getCacheManager</A>, <A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#setCacheManager(org.apache.shiro.cache.CacheManager)">setCacheManager</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="rememberMeManager"><!-- --></A><H3>
rememberMeManager</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.75"><B>rememberMeManager</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="subjectDAO"><!-- --></A><H3>
subjectDAO</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.76"><B>subjectDAO</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="subjectFactory"><!-- --></A><H3>
subjectFactory</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.77"><B>subjectFactory</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="DefaultSecurityManager()"><!-- --></A><H3>
DefaultSecurityManager</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.82"><B>DefaultSecurityManager</B></A>()</PRE>
<DL>
<DD>Default no-arg constructor.
<P>
</DL>
<HR>
<A NAME="DefaultSecurityManager(org.apache.shiro.realm.Realm)"><!-- --></A><H3>
DefaultSecurityManager</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.93"><B>DefaultSecurityManager</B></A>(<A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</A>&nbsp;singleRealm)</PRE>
<DL>
<DD>Supporting constructor for a single-realm application.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>singleRealm</CODE> - the single realm used by this SecurityManager.</DL>
</DL>
<HR>
<A NAME="DefaultSecurityManager(java.util.Collection)"><!-- --></A><H3>
DefaultSecurityManager</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.103"><B>DefaultSecurityManager</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="../../../../org/apache/shiro/realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</A>&gt;&nbsp;realms)</PRE>
<DL>
<DD>Supporting constructor for multiple <A HREF="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#setRealms(java.util.Collection)"><CODE>realms</CODE></A>.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>realms</CODE> - the realm instances backing this SecurityManager.</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getSubjectFactory()"><!-- --></A><H3>
getSubjectFactory</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.113"><B>getSubjectFactory</B></A>()</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>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.</DL>
</DD>
</DL>
<HR>
<A NAME="setSubjectFactory(org.apache.shiro.mgt.SubjectFactory)"><!-- --></A><H3>
setSubjectFactory</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.122"><B>setSubjectFactory</B></A>(<A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt">SubjectFactory</A>&nbsp;subjectFactory)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectFactory</CODE> - 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.</DL>
</DD>
</DL>
<HR>
<A NAME="getSubjectDAO()"><!-- --></A><H3>
getSubjectDAO</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.136"><B>getSubjectDAO</B></A>()</PRE>
<DL>
<DD>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). Unless configured otherwise, the default
implementation is a <A HREF="../../../../org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt"><CODE>DefaultSubjectDAO</CODE></A>.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the <code>SubjectDAO</code> responsible for persisting Subject state, typically used after login or when an
Subject identity is discovered (eg after RememberMe services).<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt"><CODE>DefaultSubjectDAO</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setSubjectDAO(org.apache.shiro.mgt.SubjectDAO)"><!-- --></A><H3>
setSubjectDAO</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.150"><B>setSubjectDAO</B></A>(<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html" title="interface in org.apache.shiro.mgt">SubjectDAO</A>&nbsp;subjectDAO)</PRE>
<DL>
<DD>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). Unless configured otherwise, the default
implementation is a <A HREF="../../../../org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt"><CODE>DefaultSubjectDAO</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectDAO</CODE> - the <code>SubjectDAO</code> responsible for persisting Subject state, typically used after login or when an
Subject identity is discovered (eg after RememberMe services).<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/DefaultSubjectDAO.html" title="class in org.apache.shiro.mgt"><CODE>DefaultSubjectDAO</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getRememberMeManager()"><!-- --></A><H3>
getRememberMeManager</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.154"><B>getRememberMeManager</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setRememberMeManager(org.apache.shiro.mgt.RememberMeManager)"><!-- --></A><H3>
setRememberMeManager</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.158"><B>setRememberMeManager</B></A>(<A HREF="../../../../org/apache/shiro/mgt/RememberMeManager.html" title="interface in org.apache.shiro.mgt">RememberMeManager</A>&nbsp;rememberMeManager)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createSubjectContext()"><!-- --></A><H3>
createSubjectContext</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.162"><B>createSubjectContext</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createSubject(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo, org.apache.shiro.subject.Subject)"><!-- --></A><H3>
createSubject</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.175"><B>createSubject</B></A>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;existing)</PRE>
<DL>
<DD>Creates a <code>Subject</code> instance for the user represented by the given method arguments.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>token</CODE> - the <code>AuthenticationToken</code> submitted for the successful authentication.<DD><CODE>info</CODE> - the <code>AuthenticationInfo</code> of a newly authenticated user.<DD><CODE>existing</CODE> - the existing <code>Subject</code> instance that initiated the authentication attempt
<DT><B>Returns:</B><DD>the <code>Subject</code> instance that represents the context and session data for the newly
authenticated subject.</DL>
</DD>
</DL>
<HR>
<A NAME="bind(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
bind</H3>
<PRE>
<FONT SIZE="-1"><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</A>
</FONT>protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.198"><B>bind</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>in favor of <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(subject)</CODE></A>.</I>
<P>
<DD>Binds a <code>Subject</code> instance created after authentication to the application for later use.
<p/>
As of Shiro 1.2, this method has been deprecated in favor of <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(org.apache.shiro.subject.Subject)</CODE></A>,
which this implementation now calls.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subject</CODE> - the <code>Subject</code> instance created after authentication to be bound to the application
for later use.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(org.apache.shiro.subject.Subject)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="rememberMeSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo, org.apache.shiro.subject.Subject)"><!-- --></A><H3>
rememberMeSuccessfulLogin</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.202"><B>rememberMeSuccessfulLogin</B></A>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="rememberMeFailedLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationException, org.apache.shiro.subject.Subject)"><!-- --></A><H3>
rememberMeFailedLogin</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.224"><B>rememberMeFailedLogin</B></A>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A>&nbsp;ex,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="rememberMeLogout(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
rememberMeLogout</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.240"><B>rememberMeLogout</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="login(org.apache.shiro.subject.Subject, org.apache.shiro.authc.AuthenticationToken)"><!-- --></A><H3>
login</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.267"><B>login</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token)
throws <A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A></PRE>
<DL>
<DD>First authenticates the <code>AuthenticationToken</code> argument, and if successful, constructs a
<code>Subject</code> instance representing the authenticated account's identity.
<p/>
Once constructed, the <code>Subject</code> instance is then <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#bind(org.apache.shiro.subject.Subject)"><CODE>bound</CODE></A> to the application for
subsequent access before being returned to the caller.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>token</CODE> - the authenticationToken to process for the login attempt.<DD><CODE>subject</CODE> - the subject against which the authentication attempt will occur
<DT><B>Returns:</B><DD>a Subject representing the authenticated user.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A></CODE> - if there is a problem authenticating the specified <code>token</code>.</DL>
</DD>
</DL>
<HR>
<A NAME="onSuccessfulLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo, org.apache.shiro.subject.Subject)"><!-- --></A><H3>
onSuccessfulLogin</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.290"><B>onSuccessfulLogin</B></A>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</A>&nbsp;info,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="onFailedLogin(org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationException, org.apache.shiro.subject.Subject)"><!-- --></A><H3>
onFailedLogin</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.294"><B>onFailedLogin</B></A>(<A HREF="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</A>&nbsp;token,
<A HREF="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</A>&nbsp;ae,
<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="beforeLogout(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
beforeLogout</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.298"><B>beforeLogout</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="copy(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
copy</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.302"><B>copy</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="createSubject(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
createSubject</H3>
<PRE>
public <A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.328"><B>createSubject</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</PRE>
<DL>
<DD>This implementation functions as follows:
<p/>
<ol>
<li>Ensures the <code>SubjectContext</code> is as populated as it can be, using heuristics to acquire
data that may not have already been available to it (such as a referenced session or remembered principals).</li>
<li>Calls <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)"><CODE>doCreateSubject(org.apache.shiro.subject.SubjectContext)</CODE></A> to actually perform the
<code>Subject</code> instance creation.</li>
<li>calls <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(subject)</CODE></A> to ensure the constructed
<code>Subject</code>'s state is accessible for future requests/invocations if necessary.</li>
<li>returns the constructed <code>Subject</code> instance.</li>
</ol>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subjectContext</CODE> - any data needed to direct how the Subject should be constructed.
<DT><B>Returns:</B><DD>the <code>Subject</code> instance reflecting the specified contextual data.<DT><B>Since:</B></DT>
<DD>1.0</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#ensureSecurityManager(org.apache.shiro.subject.SubjectContext)"><CODE>ensureSecurityManager(org.apache.shiro.subject.SubjectContext)</CODE></A>,
<A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#resolveSession(org.apache.shiro.subject.SubjectContext)"><CODE>resolveSession(org.apache.shiro.subject.SubjectContext)</CODE></A>,
<A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#resolvePrincipals(org.apache.shiro.subject.SubjectContext)"><CODE>resolvePrincipals(org.apache.shiro.subject.SubjectContext)</CODE></A>,
<A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#doCreateSubject(org.apache.shiro.subject.SubjectContext)"><CODE>doCreateSubject(org.apache.shiro.subject.SubjectContext)</CODE></A>,
<A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#save(org.apache.shiro.subject.Subject)"><CODE>save(org.apache.shiro.subject.Subject)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="doCreateSubject(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
doCreateSubject</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.368"><B>doCreateSubject</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</PRE>
<DL>
<DD>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>. By the time this method is invoked, all possible
<code>SubjectContext</code> data (session, principals, et. al.) has been made accessible using all known heuristics
and will be accessible to the <code>subjectFactory</code> via the <code>subjectContext.resolve*</code> methods.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the populated context (data map) to be used by the <code>SubjectFactory</code> when creating a
<code>Subject</code> instance.
<DT><B>Returns:</B><DD>a <code>Subject</code> instance reflecting the data in the specified <code>SubjectContext</code> data map.<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getSubjectFactory()"><CODE>getSubjectFactory()</CODE></A>,
<A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html#createSubject(org.apache.shiro.subject.SubjectContext)"><CODE>SubjectFactory.createSubject(org.apache.shiro.subject.SubjectContext)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="save(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
save</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.382"><B>save</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD>Saves the subject's state to a persistent location for future reference if necessary.
<p/>
This implementation merely delegates to the internal <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectDAO(org.apache.shiro.mgt.SubjectDAO)"><CODE>subjectDAO</CODE></A> and calls
<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html#save(org.apache.shiro.subject.Subject)"><CODE>subjectDAO.save(subject)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subject</CODE> - the subject for which state will potentially be persisted<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html#save(org.apache.shiro.subject.Subject)"><CODE>SubjectDAO.save(org.apache.shiro.subject.Subject)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="delete(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
delete</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.396"><B>delete</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD>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>logout(org.apache.shiro.subject.Subject)</CODE></A>..
<p/>
This implementation merely delegates to the internal <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#setSubjectDAO(org.apache.shiro.mgt.SubjectDAO)"><CODE>subjectDAO</CODE></A> and calls
<A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html#delete(org.apache.shiro.subject.Subject)"><CODE>delete(subject)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subject</CODE> - the subject for which state will be removed<DT><B>Since:</B></DT>
<DD>1.2</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/shiro/mgt/SubjectDAO.html#delete(org.apache.shiro.subject.Subject)"><CODE>SubjectDAO.delete(org.apache.shiro.subject.Subject)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="ensureSecurityManager(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
ensureSecurityManager</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.410"><B>ensureSecurityManager</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</PRE>
<DL>
<DD>Determines if there is a <code>SecurityManager</code> instance in the context, and if not, adds 'this' to the
context. This ensures the SubjectFactory instance will have access to a SecurityManager during Subject
construction if necessary.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the subject context data that may contain a SecurityManager instance.
<DT><B>Returns:</B><DD>The SubjectContext to use to pass to a <A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><CODE>SubjectFactory</CODE></A> for subject creation.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="resolveSession(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
resolveSession</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.434"><B>resolveSession</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</PRE>
<DL>
<DD>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.
<p/>
If there is a <code>Session</code> already in the context because that is what the caller wants to be used for
<code>Subject</code> construction, or if no session is resolved, this method effectively does nothing
returns the context method argument unaltered.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the subject context data that may resolve a Session instance.
<DT><B>Returns:</B><DD>The context to use to pass to a <A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><CODE>SubjectFactory</CODE></A> for subject creation.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="resolveContextSession(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
resolveContextSession</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.453"><B>resolveContextSession</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)
throws <A HREF="../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></PRE>
<DL>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getSessionKey(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
getSessionKey</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/session/mgt/SessionKey.html" title="interface in org.apache.shiro.session.mgt">SessionKey</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.461"><B>getSessionKey</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="resolvePrincipals(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
resolvePrincipals</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.485"><B>resolvePrincipals</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;context)</PRE>
<DL>
<DD>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. This
implementation functions as follows:
<ol>
<li>Check the context to see if it can already <A HREF="../../../../org/apache/shiro/subject/SubjectContext.html#resolvePrincipals()"><CODE>resolve an identity</CODE></A>. If
so, this method does nothing and returns the method argument unaltered.</li>
<li>Check for a RememberMe identity by calling <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#getRememberedIdentity(org.apache.shiro.subject.SubjectContext)"><CODE>getRememberedIdentity(org.apache.shiro.subject.SubjectContext)</CODE></A>. If that method returns a
non-null value, place the remembered <A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><CODE>PrincipalCollection</CODE></A> in the context.</li>
</ol>
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>context</CODE> - the subject context data that may provide (directly or indirectly through one of its values) a
<A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject"><CODE>PrincipalCollection</CODE></A> identity.
<DT><B>Returns:</B><DD>The Subject context to use to pass to a <A HREF="../../../../org/apache/shiro/mgt/SubjectFactory.html" title="interface in org.apache.shiro.mgt"><CODE>SubjectFactory</CODE></A> for subject creation.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="createSessionContext(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
createSessionContext</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/session/mgt/SessionContext.html" title="interface in org.apache.shiro.session.mgt">SessionContext</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.523"><B>createSessionContext</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="logout(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
logout</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.539"><B>logout</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/shiro/mgt/SecurityManager.html#logout(org.apache.shiro.subject.Subject)">SecurityManager</A></CODE></B></DD>
<DD>Logs out the specified Subject from the system.
<p/>
Note that most application developers should not call this method unless they have a good reason for doing
so. The preferred way to logout a Subject is to call
<code><A HREF="../../../../org/apache/shiro/subject/Subject.html#logout()"><CODE>Subject.logout()</CODE></A></code>, not the
<code>SecurityManager</code> directly.
<p/>
Framework developers on the other hand might find calling this method directly useful in certain cases.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subject</CODE> - the subject to log out.</DL>
</DD>
</DL>
<HR>
<A NAME="stopSession(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
stopSession</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.578"><B>stopSession</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="unbind(org.apache.shiro.subject.Subject)"><!-- --></A><H3>
unbind</H3>
<PRE>
<FONT SIZE="-1"><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</A>
</FONT>protected void <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.596"><B>unbind</B></A>(<A HREF="../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A>&nbsp;subject)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<I>in Shiro 1.2 in favor of <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)"><CODE>delete(org.apache.shiro.subject.Subject)</CODE></A></I>
<P>
<DD>Unbinds or removes 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>logout(org.apache.shiro.subject.Subject)</CODE></A>.
<p/>
This has been deprecated in Shiro 1.2 in favor of the <A HREF="../../../../org/apache/shiro/mgt/DefaultSecurityManager.html#delete(org.apache.shiro.subject.Subject)"><CODE>delete</CODE></A>
method. The implementation has been updated to invoke that method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>subject</CODE> - the subject to unbind from the application as it will no longer be used.</DL>
</DD>
</DL>
<HR>
<A NAME="getRememberedIdentity(org.apache.shiro.subject.SubjectContext)"><!-- --></A><H3>
getRememberedIdentity</H3>
<PRE>
protected <A HREF="../../../../org/apache/shiro/subject/PrincipalCollection.html" title="interface in org.apache.shiro.subject">PrincipalCollection</A> <A HREF="../../../../src-html/org/apache/shiro/mgt/DefaultSecurityManager.html#line.600"><B>getRememberedIdentity</B></A>(<A HREF="../../../../org/apache/shiro/subject/SubjectContext.html" title="interface in org.apache.shiro.subject">SubjectContext</A>&nbsp;subjectContext)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DefaultSecurityManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/shiro/mgt/DefaultSessionStorageEvaluator.html" title="class in org.apache.shiro.mgt"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/shiro/mgt/DefaultSecurityManager.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="DefaultSecurityManager.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>