blob: 5f3d024e20159a1b4879aa9f745217c282de833a [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_92) on Thu Jun 07 14:26:29 EDT 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JDBCLoginService (Jetty :: Project 9.3.24.v20180605 API)</title>
<meta name="date" content="2018-06-07">
<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="JDBCLoginService (Jetty :: Project 9.3.24.v20180605 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":42,"i5":10,"i6":10,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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/JDBCLoginService.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/eclipse/jetty/security/IdentityService.html" title="interface in org.eclipse.jetty.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.JDBCKnownUser.html" title="class in org.eclipse.jetty.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/security/JDBCLoginService.html" target="_top">Frames</a></li>
<li><a href="JDBCLoginService.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.eclipse.jetty.security</div>
<h2 title="Class JDBCLoginService" class="title">Class JDBCLoginService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">org.eclipse.jetty.security.MappedLoginService</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.security.JDBCLoginService</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/eclipse/jetty/security/LoginService.html" title="interface in org.eclipse.jetty.security">LoginService</a>, <a href="../../../../org/eclipse/jetty/util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">JDBCLoginService</span>
extends <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></pre>
<div class="block">HashMapped User Realm with JDBC as data source.
The <a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-"><code>login(String, Object, ServletRequest)</code></a> method checks the inherited Map for the user. If the user is not
found, it will fetch details from the database and populate the inherited
Map. It then calls the superclass <a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-"><code>login(String, Object, ServletRequest)</code></a> method to perform the actual
authentication. Periodically (controlled by configuration parameter),
internal hashes are cleared. Caching can be disabled by setting cache refresh
interval to zero. Uses one database connection that is initialized at
startup. Reconnect on failures.
<p>
An example properties file for configuration is in
<code>${jetty.home}/etc/jdbcRealm.properties</code></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.JDBCKnownUser.html" title="class in org.eclipse.jetty.security">JDBCLoginService.JDBCKnownUser</a></span></code>
<div class="block">JDBCKnownUser</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.jetty.security.MappedLoginService">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.security.<a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></h3>
<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.Anonymous.html" title="class in org.eclipse.jetty.security">MappedLoginService.Anonymous</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.KnownUser.html" title="class in org.eclipse.jetty.security">MappedLoginService.KnownUser</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.RolePrincipal.html" title="class in org.eclipse.jetty.security">MappedLoginService.RolePrincipal</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.UserPrincipal.html" title="interface in org.eclipse.jetty.security">MappedLoginService.UserPrincipal</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../../../org/eclipse/jetty/util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../../../../org/eclipse/jetty/util/component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_cacheTime">_cacheTime</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.sql.Connection</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_con">_con</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_config">_config</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_jdbcDriver">_jdbcDriver</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_lastHashPurge">_lastHashPurge</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_password">_password</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_roleSql">_roleSql</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_roleTableRoleField">_roleTableRoleField</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_url">_url</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_userName">_userName</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_userSql">_userSql</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_userTableKey">_userTableKey</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#Z:Z_userTablePasswordField">_userTablePasswordField</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.jetty.security.MappedLoginService">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.security.<a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></h3>
<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#Z:Z_identityService">_identityService</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#Z:Z_name">_name</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#Z:Z_users">_users</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#RUNNING">RUNNING</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#STOP_ON_FAILURE">STOP_ON_FAILURE</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#STOPPING">STOPPING</a></code></li>
</ul>
</li>
</ul>
<!-- ======== 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/eclipse/jetty/security/JDBCLoginService.html#JDBCLoginService--">JDBCLoginService</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#JDBCLoginService-java.lang.String-">JDBCLoginService</a></span>(java.lang.String&nbsp;name)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#JDBCLoginService-java.lang.String-org.eclipse.jetty.security.IdentityService-java.lang.String-">JDBCLoginService</a></span>(java.lang.String&nbsp;name,
<a href="../../../../org/eclipse/jetty/security/IdentityService.html" title="interface in org.eclipse.jetty.security">IdentityService</a>&nbsp;identityService,
java.lang.String&nbsp;config)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#JDBCLoginService-java.lang.String-java.lang.String-">JDBCLoginService</a></span>(java.lang.String&nbsp;name,
java.lang.String&nbsp;config)</code>&nbsp;</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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#connectDatabase--">connectDatabase</a></span>()</code>
<div class="block">(re)Connect to database with parameters setup by loadConfig()</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#doStart--">doStart</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#getConfig--">getConfig</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#loadRoleInfo-org.eclipse.jetty.security.MappedLoginService.KnownUser-">loadRoleInfo</a></span>(<a href="../../../../org/eclipse/jetty/security/MappedLoginService.KnownUser.html" title="class in org.eclipse.jetty.security">MappedLoginService.KnownUser</a>&nbsp;user)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/jetty/server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#loadUser-java.lang.String-">loadUser</a></span>(java.lang.String&nbsp;username)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.KnownUser.html" title="class in org.eclipse.jetty.security">MappedLoginService.KnownUser</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#loadUserInfo-java.lang.String-">loadUserInfo</a></span>(java.lang.String&nbsp;username)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#loadUsers--">loadUsers</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/jetty/server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-">login</a></span>(java.lang.String&nbsp;username,
java.lang.Object&nbsp;credentials,
javax.servlet.ServletRequest&nbsp;request)</code>
<div class="block">Login a user.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.html#setConfig-java.lang.String-">setConfig</a></span>(java.lang.String&nbsp;config)</code>
<div class="block">Load JDBC connection configuration from properties file.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jetty.security.MappedLoginService">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.security.<a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></h3>
<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#doStop--">doStop</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#getIdentityService--">getIdentityService</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#getName--">getName</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#getUsers--">getUsers</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#logout-org.eclipse.jetty.server.UserIdentity-">logout</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#putUser-org.eclipse.jetty.security.MappedLoginService.KnownUser-java.lang.String:A-">putUser</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#putUser-java.lang.String-org.eclipse.jetty.util.security.Credential-java.lang.String:A-">putUser</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#putUser-java.lang.String-java.lang.Object-">putUser</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#removeUser-java.lang.String-">removeUser</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#setIdentityService-org.eclipse.jetty.security.IdentityService-">setIdentityService</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#setName-java.lang.String-">setName</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#setUsers-java.util.Map-">setUsers</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#toString--">toString</a>, <a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#validate-org.eclipse.jetty.server.UserIdentity-">validate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#addLifeCycleListener-org.eclipse.jetty.util.component.LifeCycle.Listener-">addLifeCycleListener</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#getState--">getState</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#getState-org.eclipse.jetty.util.component.LifeCycle-">getState</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#getStopTimeout--">getStopTimeout</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isFailed--">isFailed</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isRunning--">isRunning</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isStarted--">isStarted</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isStarting--">isStarting</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isStopped--">isStopped</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#isStopping--">isStopping</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#removeLifeCycleListener-org.eclipse.jetty.util.component.LifeCycle.Listener-">removeLifeCycleListener</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#setStopTimeout-long-">setStopTimeout</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#start--">start</a>, <a href="../../../../org/eclipse/jetty/util/component/AbstractLifeCycle.html#stop--">stop</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="Z:Z_config">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_config</h4>
<pre>protected&nbsp;java.lang.String _config</pre>
</li>
</ul>
<a name="Z:Z_jdbcDriver">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_jdbcDriver</h4>
<pre>protected&nbsp;java.lang.String _jdbcDriver</pre>
</li>
</ul>
<a name="Z:Z_url">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_url</h4>
<pre>protected&nbsp;java.lang.String _url</pre>
</li>
</ul>
<a name="Z:Z_userName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_userName</h4>
<pre>protected&nbsp;java.lang.String _userName</pre>
</li>
</ul>
<a name="Z:Z_password">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_password</h4>
<pre>protected&nbsp;java.lang.String _password</pre>
</li>
</ul>
<a name="Z:Z_userTableKey">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_userTableKey</h4>
<pre>protected&nbsp;java.lang.String _userTableKey</pre>
</li>
</ul>
<a name="Z:Z_userTablePasswordField">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_userTablePasswordField</h4>
<pre>protected&nbsp;java.lang.String _userTablePasswordField</pre>
</li>
</ul>
<a name="Z:Z_roleTableRoleField">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_roleTableRoleField</h4>
<pre>protected&nbsp;java.lang.String _roleTableRoleField</pre>
</li>
</ul>
<a name="Z:Z_cacheTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_cacheTime</h4>
<pre>protected&nbsp;int _cacheTime</pre>
</li>
</ul>
<a name="Z:Z_lastHashPurge">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_lastHashPurge</h4>
<pre>protected&nbsp;long _lastHashPurge</pre>
</li>
</ul>
<a name="Z:Z_con">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_con</h4>
<pre>protected&nbsp;java.sql.Connection _con</pre>
</li>
</ul>
<a name="Z:Z_userSql">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>_userSql</h4>
<pre>protected&nbsp;java.lang.String _userSql</pre>
</li>
</ul>
<a name="Z:Z_roleSql">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>_roleSql</h4>
<pre>protected&nbsp;java.lang.String _roleSql</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="JDBCLoginService--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBCLoginService</h4>
<pre>public&nbsp;JDBCLoginService()
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="JDBCLoginService-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBCLoginService</h4>
<pre>public&nbsp;JDBCLoginService(java.lang.String&nbsp;name)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="JDBCLoginService-java.lang.String-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>JDBCLoginService</h4>
<pre>public&nbsp;JDBCLoginService(java.lang.String&nbsp;name,
java.lang.String&nbsp;config)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a name="JDBCLoginService-java.lang.String-org.eclipse.jetty.security.IdentityService-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JDBCLoginService</h4>
<pre>public&nbsp;JDBCLoginService(java.lang.String&nbsp;name,
<a href="../../../../org/eclipse/jetty/security/IdentityService.html" title="interface in org.eclipse.jetty.security">IdentityService</a>&nbsp;identityService,
java.lang.String&nbsp;config)
throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="doStart--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doStart</h4>
<pre>protected&nbsp;void&nbsp;doStart()
throws java.lang.Exception</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#doStart--">doStart</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#doStart--"><code>MappedLoginService.doStart()</code></a></dd>
</dl>
</li>
</ul>
<a name="getConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
<pre>public&nbsp;java.lang.String&nbsp;getConfig()</pre>
</li>
</ul>
<a name="setConfig-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConfig</h4>
<pre>public&nbsp;void&nbsp;setConfig(java.lang.String&nbsp;config)</pre>
<div class="block">Load JDBC connection configuration from properties file.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>config</code> - Filename or url of user properties file.</dd>
</dl>
</li>
</ul>
<a name="connectDatabase--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectDatabase</h4>
<pre>public&nbsp;void&nbsp;connectDatabase()</pre>
<div class="block">(re)Connect to database with parameters setup by loadConfig()</div>
</li>
</ul>
<a name="login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>login</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a>&nbsp;login(java.lang.String&nbsp;username,
java.lang.Object&nbsp;credentials,
javax.servlet.ServletRequest&nbsp;request)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/eclipse/jetty/security/LoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-">LoginService</a></code></span></div>
<div class="block">Login a user.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/LoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-">login</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/jetty/security/LoginService.html" title="interface in org.eclipse.jetty.security">LoginService</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-">login</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>username</code> - The user name</dd>
<dd><code>credentials</code> - The users credentials</dd>
<dd><code>request</code> - TODO</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A UserIdentity if the credentials matched, otherwise null</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/jetty/security/LoginService.html#login-java.lang.String-java.lang.Object-javax.servlet.ServletRequest-"><code>LoginService.login(java.lang.String, java.lang.Object, ServletRequest)</code></a></dd>
</dl>
</li>
</ul>
<a name="loadUsers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadUsers</h4>
<pre>protected&nbsp;void&nbsp;loadUsers()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadUsers--">loadUsers</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
</dl>
</li>
</ul>
<a name="loadUser-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadUser</h4>
<pre>@Deprecated
protected&nbsp;<a href="../../../../org/eclipse/jetty/server/UserIdentity.html" title="interface in org.eclipse.jetty.server">UserIdentity</a>&nbsp;loadUser(java.lang.String&nbsp;username)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadUser-java.lang.String-">loadUser</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
</dl>
</li>
</ul>
<a name="loadUserInfo-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>loadUserInfo</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/jetty/security/MappedLoginService.KnownUser.html" title="class in org.eclipse.jetty.security">MappedLoginService.KnownUser</a>&nbsp;loadUserInfo(java.lang.String&nbsp;username)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadUserInfo-java.lang.String-">loadUserInfo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadUserInfo-java.lang.String-"><code>MappedLoginService.loadUserInfo(java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="loadRoleInfo-org.eclipse.jetty.security.MappedLoginService.KnownUser-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>loadRoleInfo</h4>
<pre>public&nbsp;java.lang.String[]&nbsp;loadRoleInfo(<a href="../../../../org/eclipse/jetty/security/MappedLoginService.KnownUser.html" title="class in org.eclipse.jetty.security">MappedLoginService.KnownUser</a>&nbsp;user)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadRoleInfo-org.eclipse.jetty.security.MappedLoginService.KnownUser-">loadRoleInfo</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html" title="class in org.eclipse.jetty.security">MappedLoginService</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/jetty/security/MappedLoginService.html#loadRoleInfo-org.eclipse.jetty.security.MappedLoginService.KnownUser-"><code>MappedLoginService.loadRoleInfo(org.eclipse.jetty.security.MappedLoginService.KnownUser)</code></a></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/JDBCLoginService.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/eclipse/jetty/security/IdentityService.html" title="interface in org.eclipse.jetty.security"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/jetty/security/JDBCLoginService.JDBCKnownUser.html" title="class in org.eclipse.jetty.security"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/jetty/security/JDBCLoginService.html" target="_top">Frames</a></li>
<li><a href="JDBCLoginService.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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; 1995&#x2013;2018 <a href="http://webtide.com">Webtide</a>. All rights reserved.</small></p>
</body>
</html>