blob: eddfe853a8e39834207ca3e094ac312e49542e2f [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.14.1) on Mon Apr 04 09:09:38 CDT 2022 -->
<title>LdapLoginModule (Eclipse Jetty API Doc - v10.0.9)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-04-04">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LdapLoginModule (Eclipse Jetty API Doc - v10.0.9)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LdapLoginModule.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" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.jaas.spi</a></div>
<h2 title="Class LdapLoginModule" class="title">Class LdapLoginModule</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">org.eclipse.jetty.jaas.spi.AbstractLoginModule</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.jaas.spi.LdapLoginModule</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>javax.security.auth.spi.LoginModule</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">LdapLoginModule</span>
extends <a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></pre>
<div class="block">A LdapLoginModule for use with JAAS setups
<p>
The jvm should be started with the following parameter:
<pre>
-Djava.security.auth.login.config=etc/ldap-loginModule.conf
</pre>
and an example of the ldap-loginModule.conf would be:
<pre>
ldaploginmodule {
org.eclipse.jetty.server.server.plus.jaas.spi.LdapLoginModule required
debug="true"
useLdaps="false"
contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
hostname="ldap.example.com"
port="389"
bindDn="cn=Directory Manager"
bindPassword="directory"
authenticationMethod="simple"
forceBindingLogin="false"
userBaseDn="ou=people,dc=alcatel"
userRdnAttribute="uid"
userIdAttribute="uid"
userPasswordAttribute="userPassword"
userObjectClass="inetOrgPerson"
roleBaseDn="ou=groups,dc=example,dc=com"
roleNameAttribute="cn"
roleMemberAttribute="uniqueMember"
roleObjectClass="groupOfUniqueNames";
};
</pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="LdapLoginModule.LDAPBindingUser.html" title="class in org.eclipse.jetty.jaas.spi">LdapLoginModule.LDAPBindingUser</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="LdapLoginModule.LDAPUser.html" title="class in org.eclipse.jetty.jaas.spi">LdapLoginModule.LDAPUser</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.jaas.spi.AbstractLoginModule">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.jaas.spi.<a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></h3>
<code><a href="AbstractLoginModule.JAASUser.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule.JAASUser</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">LdapLoginModule</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#abort()">abort</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#bindingLogin(java.lang.String,java.lang.Object)">bindingLogin</a></span>&#8203;(java.lang.String&nbsp;username,
java.lang.Object&nbsp;password)</code></th>
<td class="colLast">
<div class="block">binding authentication check
This method of authentication works only if the user branch of the DIT (ldap tree)
has an ACI (access control instruction) that allow the access to any user or at least
for the user that logs in.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#commit()">commit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#convertCredentialLdapToJetty(java.lang.String)">convertCredentialLdapToJetty</a></span>&#8203;(java.lang.String&nbsp;encryptedPassword)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#credentialLogin(java.lang.Object)">credentialLogin</a></span>&#8203;(java.lang.Object&nbsp;webCredential)</code></th>
<td class="colLast">
<div class="block">password supplied authentication check</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doRFC2254Encoding(java.lang.String)">doRFC2254Encoding</a></span>&#8203;(java.lang.String&nbsp;inputString)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.util.Hashtable&lt;java.lang.Object,&#8203;java.lang.Object&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEnvironment()">getEnvironment</a></span>()</code></th>
<td class="colLast">
<div class="block">get the context for connection</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="AbstractLoginModule.JAASUser.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule.JAASUser</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUser(java.lang.String)">getUser</a></span>&#8203;(java.lang.String&nbsp;username)</code></th>
<td class="colLast">
<div class="block">get the available information about the user</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initialize(javax.security.auth.Subject,javax.security.auth.callback.CallbackHandler,java.util.Map,java.util.Map)">initialize</a></span>&#8203;(javax.security.auth.Subject&nbsp;subject,
javax.security.auth.callback.CallbackHandler&nbsp;callbackHandler,
java.util.Map&lt;java.lang.String,&#8203;?&gt;&nbsp;sharedState,
java.util.Map&lt;java.lang.String,&#8203;?&gt;&nbsp;options)</code></th>
<td class="colLast">
<div class="block">Init LoginModule.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#login()">login</a></span>()</code></th>
<td class="colLast">
<div class="block">since ldap uses a context bind for valid authentication checking, we override login()</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.jaas.spi.AbstractLoginModule">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.jaas.spi.<a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></h3>
<code><a href="AbstractLoginModule.html#configureCallbacks()">configureCallbacks</a>, <a href="AbstractLoginModule.html#getCallbackHandler()">getCallbackHandler</a>, <a href="AbstractLoginModule.html#getCurrentUser()">getCurrentUser</a>, <a href="AbstractLoginModule.html#getSubject()">getSubject</a>, <a href="AbstractLoginModule.html#isAuthenticated()">isAuthenticated</a>, <a href="AbstractLoginModule.html#isCommitted()">isCommitted</a>, <a href="AbstractLoginModule.html#isIgnored()">isIgnored</a>, <a href="AbstractLoginModule.html#logout()">logout</a>, <a href="AbstractLoginModule.html#setAuthenticated(boolean)">setAuthenticated</a>, <a href="AbstractLoginModule.html#setCallbackHandler(javax.security.auth.callback.CallbackHandler)">setCallbackHandler</a>, <a href="AbstractLoginModule.html#setCommitted(boolean)">setCommitted</a>, <a href="AbstractLoginModule.html#setCurrentUser(org.eclipse.jetty.jaas.spi.AbstractLoginModule.JAASUser)">setCurrentUser</a>, <a href="AbstractLoginModule.html#setSubject(javax.security.auth.Subject)">setSubject</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LdapLoginModule</h4>
<pre>public&nbsp;LdapLoginModule()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getUser(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUser</h4>
<pre class="methodSignature">public&nbsp;<a href="AbstractLoginModule.JAASUser.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule.JAASUser</a>&nbsp;getUser&#8203;(java.lang.String&nbsp;username)
throws java.lang.Exception</pre>
<div class="block">get the available information about the user
<p>
for this LoginModule, the credential can be null which will result in a
binding ldap authentication scenario
<p>
roles are also an optional concept if required</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractLoginModule.html#getUser(java.lang.String)">getUser</a></code>&nbsp;in class&nbsp;<code><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - the user name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the userinfo for the username</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if unable to get the user info</dd>
</dl>
</li>
</ul>
<a id="doRFC2254Encoding(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doRFC2254Encoding</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;doRFC2254Encoding&#8203;(java.lang.String&nbsp;inputString)</pre>
</li>
</ul>
<a id="login()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>login</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;login()
throws javax.security.auth.login.LoginException</pre>
<div class="block">since ldap uses a context bind for valid authentication checking, we override login()
<p>
if credentials are not available from the users context or if we are forcing the binding check
then we try a binding authentication check, otherwise if we have the users encoded password then
we can try authentication via that mechanic</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>login</code>&nbsp;in interface&nbsp;<code>javax.security.auth.spi.LoginModule</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractLoginModule.html#login()">login</a></code>&nbsp;in class&nbsp;<code><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if authenticated, false otherwise</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.security.auth.login.LoginException</code> - if unable to login</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LoginModule.login()</code></dd>
</dl>
</li>
</ul>
<a id="credentialLogin(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>credentialLogin</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;credentialLogin&#8203;(java.lang.Object&nbsp;webCredential)
throws javax.security.auth.login.LoginException</pre>
<div class="block">password supplied authentication check</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>webCredential</code> - the web credential</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if authenticated</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.security.auth.login.LoginException</code> - if unable to login</dd>
</dl>
</li>
</ul>
<a id="bindingLogin(java.lang.String,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bindingLogin</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;bindingLogin&#8203;(java.lang.String&nbsp;username,
java.lang.Object&nbsp;password)
throws javax.security.auth.login.LoginException</pre>
<div class="block">binding authentication check
This method of authentication works only if the user branch of the DIT (ldap tree)
has an ACI (access control instruction) that allow the access to any user or at least
for the user that logs in.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - the user name</dd>
<dd><code>password</code> - the password</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true always</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.security.auth.login.LoginException</code> - if unable to bind the login</dd>
</dl>
</li>
</ul>
<a id="initialize(javax.security.auth.Subject,javax.security.auth.callback.CallbackHandler,java.util.Map,java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;initialize&#8203;(javax.security.auth.Subject&nbsp;subject,
javax.security.auth.callback.CallbackHandler&nbsp;callbackHandler,
java.util.Map&lt;java.lang.String,&#8203;?&gt;&nbsp;sharedState,
java.util.Map&lt;java.lang.String,&#8203;?&gt;&nbsp;options)</pre>
<div class="block">Init LoginModule.
<p>
Called once by JAAS after new instance is created.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>initialize</code>&nbsp;in interface&nbsp;<code>javax.security.auth.spi.LoginModule</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractLoginModule.html#initialize(javax.security.auth.Subject,javax.security.auth.callback.CallbackHandler,java.util.Map,java.util.Map)">initialize</a></code>&nbsp;in class&nbsp;<code><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subject</code> - the subect</dd>
<dd><code>callbackHandler</code> - the callback handler</dd>
<dd><code>sharedState</code> - the shared state map</dd>
<dd><code>options</code> - the option map</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LoginModule.initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map, java.util.Map)</code></dd>
</dl>
</li>
</ul>
<a id="commit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;commit()
throws javax.security.auth.login.LoginException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>commit</code>&nbsp;in interface&nbsp;<code>javax.security.auth.spi.LoginModule</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractLoginModule.html#commit()">commit</a></code>&nbsp;in class&nbsp;<code><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if committed, false if not (likely not authenticated)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.security.auth.login.LoginException</code> - if unable to commit</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>LoginModule.commit()</code></dd>
</dl>
</li>
</ul>
<a id="abort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;abort()
throws javax.security.auth.login.LoginException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>abort</code>&nbsp;in interface&nbsp;<code>javax.security.auth.spi.LoginModule</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractLoginModule.html#abort()">abort</a></code>&nbsp;in class&nbsp;<code><a href="AbstractLoginModule.html" title="class in org.eclipse.jetty.jaas.spi">AbstractLoginModule</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.security.auth.login.LoginException</code></dd>
</dl>
</li>
</ul>
<a id="getEnvironment()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEnvironment</h4>
<pre class="methodSignature">public&nbsp;java.util.Hashtable&lt;java.lang.Object,&#8203;java.lang.Object&gt;&nbsp;getEnvironment()</pre>
<div class="block">get the context for connection</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the environment details for the context</dd>
</dl>
</li>
</ul>
<a id="convertCredentialLdapToJetty(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>convertCredentialLdapToJetty</h4>
<pre class="methodSignature">public static&nbsp;java.lang.String&nbsp;convertCredentialLdapToJetty&#8203;(java.lang.String&nbsp;encryptedPassword)</pre>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LdapLoginModule.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" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>