blob: 081122514f60725a59ec67e19bffdacd3387b134 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (1.8.0_201) on Sat Feb 22 18:53:12 CET 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AuthenticatingSecurityManager (Apache Shiro :: Core 1.5.1 API)</title>
<meta name="date" content="2020-02-22">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AuthenticatingSecurityManager (Apache Shiro :: Core 1.5.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthenticatingSecurityManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/shiro/mgt/AuthenticatingSecurityManager.html" target="_top">Frames</a></li>
<li><a href="AuthenticatingSecurityManager.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.shiro.mgt</div>
<h2 title="Class AuthenticatingSecurityManager" class="title">Class AuthenticatingSecurityManager</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.CachingSecurityManager</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">org.apache.shiro.mgt.RealmSecurityManager</a></li>
<li>
<ul class="inheritance">
<li>org.apache.shiro.mgt.AuthenticatingSecurityManager</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<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>, org.apache.shiro.cache.CacheManagerAware, org.apache.shiro.event.EventBusAware, <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>, org.apache.shiro.util.Destroyable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt">AuthorizingSecurityManager</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.43">AuthenticatingSecurityManager</a>
extends <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></pre>
<div class="block">Shiro support of a <a href="../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a> class hierarchy that delegates all
authentication operations to a wrapped <a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> instance. That is, this class
implements all the <tt>Authenticator</tt> methods in the <a href="../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt"><code>SecurityManager</code></a>
interface, but in reality, those methods are merely passthrough calls to the underlying 'real'
<tt>Authenticator</tt> instance.
<p>All other <tt>SecurityManager</tt> (authorization, session, etc) methods are left to be implemented by subclasses.
<p>In keeping with the other classes in this hierarchy and Shiro's desire to minimize configuration whenever
possible, suitable default instances for all dependencies are created upon instantiation.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.9</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#AuthenticatingSecurityManager--">AuthenticatingSecurityManager</a></span>()</code>
<div class="block">Default no-arg constructor that initializes its internal
<code>authenticator</code> instance to a
<a href="../../../../org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#afterRealmsSet--">afterRealmsSet</a></span>()</code>
<div class="block">Passes on the <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#getRealms--"><code>realms</code></a> to the internal delegate <code>Authenticator</code> instance so
that it may use them during authentication attempts.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#authenticate-org.apache.shiro.authc.AuthenticationToken-">authenticate</a></span>(<a href="../../../../org/apache/shiro/authc/AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token)</code>
<div class="block">Delegates to the wrapped <a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> for authentication.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#destroy--">destroy</a></span>()</code>
<div class="block">Destroys the <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager--"><code>cacheManager</code></a> via <code>LifecycleUtils.destroy</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#getAuthenticator--">getAuthenticator</a></span>()</code>
<div class="block">Returns the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
authentication operations.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#setAuthenticator-org.apache.shiro.authc.Authenticator-">setAuthenticator</a></span>(<a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</a>&nbsp;authenticator)</code>
<div class="block">Sets the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
authentication operations.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.shiro.mgt.RealmSecurityManager">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.mgt.<a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></h3>
<code><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#afterCacheManagerSet--">afterCacheManagerSet</a>, <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#afterEventBusSet--">afterEventBusSet</a>, <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#applyCacheManagerToRealms--">applyCacheManagerToRealms</a>, <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#applyEventBusToRealms--">applyEventBusToRealms</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></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.shiro.mgt.CachingSecurityManager">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.mgt.<a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html" title="class in org.apache.shiro.mgt">CachingSecurityManager</a></h3>
<code><a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#applyEventBusToCacheManager--">applyEventBusToCacheManager</a>, <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager--">getCacheManager</a>, <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#getEventBus--">getEventBus</a>, <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#setCacheManager-org.apache.shiro.cache.CacheManager-">setCacheManager</a>, <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#setEventBus-org.apache.shiro.event.EventBus-">setEventBus</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.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="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.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="https://docs.oracle.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></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.shiro.mgt.SecurityManager">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.mgt.<a href="../../../../org/apache/shiro/mgt/SecurityManager.html" title="interface in org.apache.shiro.mgt">SecurityManager</a></h3>
<code><a href="../../../../org/apache/shiro/mgt/SecurityManager.html#createSubject-org.apache.shiro.subject.SubjectContext-">createSubject</a>, <a href="../../../../org/apache/shiro/mgt/SecurityManager.html#login-org.apache.shiro.subject.Subject-org.apache.shiro.authc.AuthenticationToken-">login</a>, <a href="../../../../org/apache/shiro/mgt/SecurityManager.html#logout-org.apache.shiro.subject.Subject-">logout</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.shiro.authz.Authorizer">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.authz.<a href="../../../../org/apache/shiro/authz/Authorizer.html" title="interface in org.apache.shiro.authz">Authorizer</a></h3>
<code><a href="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission-org.apache.shiro.subject.PrincipalCollection-org.apache.shiro.authz.Permission-">checkPermission</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkPermission-org.apache.shiro.subject.PrincipalCollection-java.lang.String-">checkPermission</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions-org.apache.shiro.subject.PrincipalCollection-java.util.Collection-">checkPermissions</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkPermissions-org.apache.shiro.subject.PrincipalCollection-java.lang.String...-">checkPermissions</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkRole-org.apache.shiro.subject.PrincipalCollection-java.lang.String-">checkRole</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles-org.apache.shiro.subject.PrincipalCollection-java.util.Collection-">checkRoles</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#checkRoles-org.apache.shiro.subject.PrincipalCollection-java.lang.String...-">checkRoles</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#hasAllRoles-org.apache.shiro.subject.PrincipalCollection-java.util.Collection-">hasAllRoles</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#hasRole-org.apache.shiro.subject.PrincipalCollection-java.lang.String-">hasRole</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#hasRoles-org.apache.shiro.subject.PrincipalCollection-java.util.List-">hasRoles</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted-org.apache.shiro.subject.PrincipalCollection-java.util.List-">isPermitted</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted-org.apache.shiro.subject.PrincipalCollection-org.apache.shiro.authz.Permission-">isPermitted</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted-org.apache.shiro.subject.PrincipalCollection-java.lang.String...-">isPermitted</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermitted-org.apache.shiro.subject.PrincipalCollection-java.lang.String-">isPermitted</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll-org.apache.shiro.subject.PrincipalCollection-java.util.Collection-">isPermittedAll</a>, <a href="../../../../org/apache/shiro/authz/Authorizer.html#isPermittedAll-org.apache.shiro.subject.PrincipalCollection-java.lang.String...-">isPermittedAll</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.shiro.session.mgt.SessionManager">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.shiro.session.mgt.<a href="../../../../org/apache/shiro/session/mgt/SessionManager.html" title="interface in org.apache.shiro.session.mgt">SessionManager</a></h3>
<code><a href="../../../../org/apache/shiro/session/mgt/SessionManager.html#getSession-org.apache.shiro.session.mgt.SessionKey-">getSession</a>, <a href="../../../../org/apache/shiro/session/mgt/SessionManager.html#start-org.apache.shiro.session.mgt.SessionContext-">start</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AuthenticatingSecurityManager--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AuthenticatingSecurityManager</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.56">AuthenticatingSecurityManager</a>()</pre>
<div class="block">Default no-arg constructor that initializes its internal
<code>authenticator</code> instance to a
<a href="../../../../org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a>.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getAuthenticator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAuthenticator</h4>
<pre>public&nbsp;<a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.70">getAuthenticator</a>()</pre>
<div class="block">Returns the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
authentication operations. Unless overridden by the
<a href="../../../../org/apache/shiro/mgt/AuthenticatingSecurityManager.html#setAuthenticator-org.apache.shiro.authc.Authenticator-"><code>setAuthenticator</code></a>, the default instance is a
<a href="../../../../org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
authentication operations.</dd>
</dl>
</li>
</ul>
<a name="setAuthenticator-org.apache.shiro.authc.Authenticator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthenticator</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.83">setAuthenticator</a>(<a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc">Authenticator</a>&nbsp;authenticator)
throws <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
<div class="block">Sets the delegate <code>Authenticator</code> instance that this SecurityManager uses to perform all
authentication operations. Unless overridden by this method, the default instance is a
<a href="../../../../org/apache/shiro/authc/pam/ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authenticator</code> - the delegate <code>Authenticator</code> instance that this SecurityManager will use to
perform all authentication operations.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the argument is <code>null</code>.</dd>
</dl>
</li>
</ul>
<a name="afterRealmsSet--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterRealmsSet</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.95">afterRealmsSet</a>()</pre>
<div class="block">Passes on the <a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#getRealms--"><code>realms</code></a> to the internal delegate <code>Authenticator</code> instance so
that it may use them during authentication attempts.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#afterRealmsSet--">afterRealmsSet</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></code></dd>
</dl>
</li>
</ul>
<a name="authenticate-org.apache.shiro.authc.AuthenticationToken-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>authenticate</h4>
<pre>public&nbsp;<a href="../../../../org/apache/shiro/authc/AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.105">authenticate</a>(<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>
<div class="block">Delegates to the wrapped <a href="../../../../org/apache/shiro/authc/Authenticator.html" title="interface in org.apache.shiro.authc"><code>Authenticator</code></a> for authentication.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>token</code> - any representation of a user's principals and credentials submitted during an
authentication attempt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the AuthenticationInfo representing the authenticating user's account data.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/shiro/authc/AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></code> - if there is any problem during the authentication process.
See the specific exceptions listed below to as examples of what could happen
in order to accurately handle these problems and to notify the user in an
appropriate manner why the authentication attempt failed. Realize an
implementation of this interface may or may not throw those listed or may
throw other AuthenticationExceptions, but the list shows the most common ones.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/shiro/authc/ExpiredCredentialsException.html" title="class in org.apache.shiro.authc"><code>ExpiredCredentialsException</code></a>,
<a href="../../../../org/apache/shiro/authc/IncorrectCredentialsException.html" title="class in org.apache.shiro.authc"><code>IncorrectCredentialsException</code></a>,
<a href="../../../../org/apache/shiro/authc/ExcessiveAttemptsException.html" title="class in org.apache.shiro.authc"><code>ExcessiveAttemptsException</code></a>,
<a href="../../../../org/apache/shiro/authc/LockedAccountException.html" title="class in org.apache.shiro.authc"><code>LockedAccountException</code></a>,
<a href="../../../../org/apache/shiro/authc/ConcurrentAccessException.html" title="class in org.apache.shiro.authc"><code>ConcurrentAccessException</code></a>,
<a href="../../../../org/apache/shiro/authc/UnknownAccountException.html" title="class in org.apache.shiro.authc"><code>UnknownAccountException</code></a></dd>
</dl>
</li>
</ul>
<a name="destroy--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>destroy</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../src-html/org/apache/shiro/mgt/AuthenticatingSecurityManager.html#line.109">destroy</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#destroy--">CachingSecurityManager</a></code></span></div>
<div class="block">Destroys the <a href="../../../../org/apache/shiro/mgt/CachingSecurityManager.html#getCacheManager--"><code>cacheManager</code></a> via <code>LifecycleUtils.destroy</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>destroy</code>&nbsp;in interface&nbsp;<code>org.apache.shiro.util.Destroyable</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html#destroy--">destroy</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/shiro/mgt/RealmSecurityManager.html" title="class in org.apache.shiro.mgt">RealmSecurityManager</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AuthenticatingSecurityManager.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/shiro/mgt/AbstractRememberMeManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/shiro/mgt/AuthorizingSecurityManager.html" title="class in org.apache.shiro.mgt"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/shiro/mgt/AuthenticatingSecurityManager.html" target="_top">Frames</a></li>
<li><a href="AuthenticatingSecurityManager.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>