<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>JAAS Support</title><link rel="stylesheet" type="text/css" href="css/docbook.css"><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"><meta name="keywords" content="jetty, servlet, servlet-api, cometd, http, websocket, eclipse, maven, java, server, software"><link rel="home" href="index.html" title="Jetty"><link rel="up" href="configuring-security.html" title="Chapter&nbsp;7.&nbsp;Configuring Security"><link rel="prev" href="setting-port80-access.html" title="Setting Port 80 Access for a Non-Root User"><link rel="next" href="spnego-support.html" title="SPNEGO Support"><link xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" rel="shortcut icon" href="images/favicon.ico"><link rel="stylesheet" href="css/highlighter/foundation.css"><script src="js/highlight.pack.js"></script><script>
      hljs.initHighlightingOnLoad();
    </script><link type="text/css" rel="stylesheet" href="css/font-awesome/font-awesome.min.css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><tr><td style="width: 25%"><a href="http://www.eclipse.org/jetty"><img src="images/jetty-header-logo.png" alt="Jetty Logo"></a><br><span style="font-size: small">
            Version: 9.4.28-SNAPSHOT</span></td><td style="width: 50%"></td></tr></table><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">JAAS Support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="setting-port80-access.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;7.&nbsp;Configuring Security<br><a accesskey="p" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></th><td width="20%" align="right">&nbsp;<a accesskey="n" href="spnego-support.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr></table><hr></div><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="jetty-callout"><h5 class="callout"><a href="http://www.webtide.com/">Contact the core Jetty developers at
          <span class="website">www.webtide.com</span></a></h5><p>
 private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ...
 scalability guidance for your apps and Ajax/Comet projects ... development services for sponsored feature development
      </p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="jaas-support"></a>JAAS Support</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="jaas-support.html#jetty-jaas">Jetty and JAAS</a></span></dt><dt><span class="section"><a href="jaas-support.html#jaas-configuration">Configuration</a></span></dt><dt><span class="section"><a href="jaas-support.html#_a_closer_look_at_jaasloginservice">A Closer Look at JAASLoginService</a></span></dt><dt><span class="section"><a href="jaas-support.html#_writing_your_own_loginmodule">Writing your Own LoginModule</a></span></dt><dt><span class="section"><a href="jaas-support.html#_other_goodies">Other Goodies</a></span></dt></dl></div><p>JAAS implements a Java version of the standard Pluggable Authentication Module (PAM) framework.</p><p>JAAS can be used for two purposes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">for authentication of users, to reliably and securely determine who is currently executing Java code, regardless of whether the code is running as an application, an applet, a bean, or a servlet</li><li class="listitem">for authorization of users to ensure they have the access control rights (permissions) required to do the actions performed</li></ul></div><p>JAAS authentication is performed in a pluggable fashion.
This permits applications to remain independent from underlying authentication technologies.
New or updated authentication technologies can be plugged under an application without requiring modifications to the application itself.
Applications enable the authentication process by instantiating a <code class="literal">LoginContext</code> object, which in turn references a configuration to determine the authentication technology(ies), or <code class="literal">LoginModule</code>(s), to be used in performing the authentication.
Typical <code class="literal">LoginModules</code> may prompt for and verify a username and password.
Others may read and verify a voice or fingerprint sample.</p><p>See Java Authentication and Authorization Service (JAAS) <a class="link" href="http://java.sun.com/javase/6/docs/technotes/guides/security/jaas/JAASRefGuide.html" target="_top">Reference Guide</a> for more information about JAAS.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jetty-jaas"></a>Jetty and JAAS</h3></div></div></div><p>Many application servers support JAAS as a means of bringing greater flexibility to the declarative security models of the J2EE (now known as the JavaEE) <a class="link" href="http://java.sun.com/javaee/index.jsp" target="_top">specification</a>.
Jetty support for JAAS provides greater alternatives for servlet security, and increases the portability of web applications.</p><p>The JAAS support aims to dictate as little as possible whilst providing a sufficiently flexible infrastructure to allow users to drop in their
own custom <a class="link" href="http://java.sun.com/j2se/1.4.2/docs/guide/security/jaas/JAASLMDevGuide.html" target="_top">LoginModules</a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jaas-configuration"></a>Configuration</h3></div></div></div><p>Using JAAS with Jetty is very simply a matter of declaring a <code class="literal">org.eclipse.jetty.jaas.JAASLoginService</code>, creating a JAAS login module configuration file and specifying it on the Jetty run line.
Let&#8217;s look at an example.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_step_1"></a>Step 1</h4></div></div></div><p>Configure a Jetty <code class="literal">org.eclipse.jetty.jaas.JAASLoginService</code> to match the <code class="literal">&lt;realm-name&gt;</code> in your <code class="literal">web.xml</code> file. For example, if the <code class="literal">web.xml</code> contains a realm called "Test JAAS Realm" like so:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;login-config&gt;
  &lt;auth-method&gt;FORM&lt;/auth-method&gt;
  &lt;realm-name&gt;Test JAAS Realm&lt;/realm-name&gt;
  &lt;form-login-config&gt;
    &lt;form-login-page&gt;/login/login&lt;/form-login-page&gt;
    &lt;form-error-page&gt;/login/error&lt;/form-error-page&gt;
  &lt;/form-login-config&gt;
&lt;/login-config&gt;</code></pre><p>then you need to create a <code class="literal">JAASLoginService</code> with the matching realm name of "Test JAAS Realm":</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;New class="org.eclipse.jetty.jaas.JAASLoginService"&gt;
  &lt;Set name="Name"&gt;Test JAAS Realm&lt;/Set&gt;
  &lt;Set name="LoginModuleName"&gt;xyz&lt;/Set&gt;
&lt;/New&gt;</code></pre><p>The <code class="literal">LoginModuleName</code> must match the name of your LoginModule as declared in your login module configuration file (see <a class="link" href="jaas-support.html#jaas-step-2" title="Step 2">Step 2</a>).</p><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-exclamation" aria-hidden="true"></i> Caution</h3><p>The name of the realm-name that you declare in <code class="literal">web.xml</code> must match <span class="strong"><strong>exactly</strong></span> the <code class="literal">Name</code> field of your <code class="literal">JAASLoginService</code>.</p></div></blockquote></div><p>You can declare your <code class="literal">JAASLoginService</code> in a couple of different ways:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p class="simpara">If you have more than one webapp that you would like to use the same security infrastructure, then you can declare your <code class="literal">JAASLoginService</code> in a top-level Jetty xml file as a bean that is added to the <code class="literal">org.eclipse.jetty.server.Server</code>.
An example:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;Configure id="Server" class="org.eclipse.jetty.server.Server"&gt;

  &lt;Call name="addBean"&gt;
    &lt;Arg&gt;
      &lt;New class="org.eclipse.jetty.jaas.JAASLoginService"&gt;
        &lt;Set name="name"&gt;Test JAAS Realm&lt;/Set&gt;
        &lt;Set name="LoginModuleName"&gt;xyz&lt;/Set&gt;
      &lt;/New&gt;
    &lt;/Arg&gt;
  &lt;/Call&gt;

&lt;/Configure&gt;</code></pre></li><li class="listitem"><p class="simpara">Alternatively, you can use a <code class="literal">JAASLoginService</code> with just a specific webapp by creating a <a class="link" href="configuring-specific-webapp-deployment.html#deployable-descriptor-file" title="Jetty Deployable Descriptor XML File">context xml</a> file for the webapp, and specifying the <code class="literal">JAASLoginService</code> in it:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;Configure class="org.eclipse.jetty.webapp.WebAppContext"&gt;

  &lt;Set name="securityHandler"&gt;
    &lt;New class="org.eclipse.jetty.security.ConstraintSecurityHandler"&gt;
     &lt;Set name="loginService"&gt;
       &lt;New class="org.eclipse.jetty.jaas.JAASLoginService"&gt;
         &lt;Set name="name"&gt;Test JAAS Realm&lt;/Set&gt;
         &lt;Set name="loginModuleName"&gt;xyz&lt;/Set&gt;
       &lt;/New&gt;
     &lt;/Set&gt;
    &lt;/New&gt;
  &lt;/Set&gt;

&lt;/Configure&gt;</code></pre></li></ol></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="jaas-step-2"></a>Step 2</h4></div></div></div><p>Set up your <code class="literal">LoginModule</code> in a configuration file, following the <a class="link" href="https://docs.oracle.com/javase/7/docs/api/javax/security/auth/login/Configuration.html" target="_top">syntax rules</a> :</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>xyz {
       com.acme.SomeLoginModule required debug=true;
    };</code></pre><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="caution" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-exclamation" aria-hidden="true"></i> Caution</h3><p>It is imperative that the application name on the first line is <span class="strong"><strong>exactly</strong></span> the same as the <code class="literal">LoginModuleName</code> of your <code class="literal">JAASLoginService</code>.</p></div></blockquote></div><p>You may find it convenient to name this configuration file as <code class="literal">etc/login.conf</code> because, as we will see below, some of the wiring up for JAAS has been done for you.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_step_3"></a>Step 3</h4></div></div></div><p>You now need to invoke Jetty with support for JAAS.
There are 2 aspects to this:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">adding JAAS-related jars to the Jetty container classpath</li><li class="listitem">setting the System property <code class="literal">java.security.auth.login.config</code></li></ul></div><p>To accomplish the above, use the Jetty <a class="link" href="startup.html#startup-overview" title="Startup Overview">startup</a> <a class="link" href="startup-modules.html" title="Managing Startup Modules">modules mechanism</a> to add the JAAS <a class="link" href="startup-modules.html" title="Managing Startup Modules">module</a>:</p><div class="screenexample"><pre class="screen">java -jar start.jar --add-to-start=jaas</pre></div><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>The top level of the distribution does not have the JAAS module enabled by default.
However, there are several <a class="link" href="quickstart-running-jetty.html#demo-webapps-base" title="Demo Base">demo webapps</a> - including a JAAS webapp - available in the <code class="literal">demo-base</code> directory of the distribution which has pre-enabled the JAAS module.</p></div></blockquote></div><p>Now you will have a file named <code class="literal">start.d/jaas.ini</code>, which contains:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>--module=jaas
jaas.login.conf=etc/login.conf</code></pre><p>The <code class="literal">jaas.login.conf</code> property refers to the location of your <code class="literal">LoginModule</code> configuration file that you established in <a class="link" href="jaas-support.html#jaas-step-2" title="Step 2">Step 2</a>.
If you called it <code class="literal">etc/login.conf</code>, then your work is done. Otherwise, change the value of the <code class="literal">jaas.login.conf</code> property to be the location of your LoginModule configuration file.
Jetty will automatically use this property to set the value of the System property <code class="literal">java.security.auth.login.config.</code></p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_a_closer_look_at_jaasloginservice"></a>A Closer Look at JAASLoginService</h3></div></div></div><p>To allow the greatest degree of flexibility in using JAAS with web applications, the <code class="literal">JAASLoginService</code> supports a couple of configuration options.
Note that you don&#8217;t ordinarily need to set these explicitly, as Jetty has defaults which will work in 99% of cases.
However, should you need to, you can configure:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">a CallbackHandler (Default: <code class="literal">org.eclipse.jetty.jaas.callback.DefaultCallbackHandler</code>)</li><li class="listitem">a list of classnames for the Principal implementation that equate to a user role (Default: <code class="literal">org.eclipse.jetty.jaas.JAASRole</code>)</li></ul></div><p>Here&#8217;s an example of setting each of these (to their default values):</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;New class="org.eclipse.jetty.jaas.JAASLoginService"&gt;
  &lt;Set name="Name"&gt;Test JAAS Realm&lt;/Set&gt;
  &lt;Set name="LoginModuleName"&gt;xyz&lt;/Set&gt;
  &lt;Set name="CallbackHandlerClass"&gt;
       org.eclipse.jetty.jaas.callback.DefaultCallbackHandler
  &lt;/Set&gt;
  &lt;Set name="roleClassNames"&gt;
    &lt;Array type="java.lang.String"&gt;
      &lt;Item&gt;org.eclipse.jetty.jaas.JAASRole&lt;/Item&gt;
    &lt;/Array&gt;
  &lt;/Set&gt;
&lt;/New&gt;</code></pre><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_callbackhandler"></a>CallbackHandler</h4></div></div></div><p>A CallbackHandler is responsible for interfacing with the user to obtain usernames and credentials to be authenticated.</p><p>Jetty ships with the <code class="literal">org.eclipse.jetty.jaas.DefaultCallbackHandler</code> which interfaces the information contained in the request to the Callbacks that are requested by <code class="literal">LoginModules</code>.
You can replace this default with your own implementation if you have specific requirements not covered by the default.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_role_principal_implementation_class"></a>Role Principal Implementation Class</h4></div></div></div><p>When <code class="literal">LoginModules</code> authenticate a user, they usually also gather all of the roles that a user has and place them inside the JAAS Subject.
As <code class="literal">LoginModules</code> are free to use their own implementation of the JAAS Principal to put into the Subject, Jetty needs to know which Principals represent the user and which represent his/her roles when performing authorization checks on <code class="literal">&lt;security-constraint&gt;</code>. The example <code class="literal">LoginModules</code> that ship with Jetty all use the <code class="literal">org.eclipse.jetty.jaas.JAASRole</code> class. However, if you have plugged in other <code class="literal">LoginModules</code>, you must configure the classnames of their role Principal implementations.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_sample_loginmodules"></a>Sample LoginModules</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="http://www.eclipse.org/jetty/javadoc/9.4.28-SNAPSHOT/org/eclipse/jetty/jaas/spi/JDBCLoginModule.html" target="_top"><code class="literal">org.eclipse.jetty.jaas.spi.JDBCLoginModule</code></a></li><li class="listitem"><a class="link" href="http://www.eclipse.org/jetty/javadoc/9.4.28-SNAPSHOT/org/eclipse/jetty/jaas/spi/PropertyFileLoginModule.html" target="_top"><code class="literal">org.eclipse.jetty.jaas.spi.PropertyFileLoginModule</code></a></li><li class="listitem"><a class="link" href="http://www.eclipse.org/jetty/javadoc/9.4.28-SNAPSHOT/org/eclipse/jetty/jaas/spi/DataSourceLoginModule.html" target="_top"><code class="literal">org.eclipse.jetty.jaas.spi.DataSourceLoginModule</code></a></li><li class="listitem"><a class="link" href="http://www.eclipse.org/jetty/javadoc/9.4.28-SNAPSHOT/org/eclipse/jetty/jaas/spi/LdapLoginModule.html" target="_top"><code class="literal">org.eclipse.jetty.jaas.ldap.LdapLoginModule</code></a></li></ul></div><div class="blockquote"><blockquote class="blockquote"><div xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times" class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><i class="fa fa-asterisk" aria-hidden="true"></i> Note</h3><p>Passwords can be stored in clear text, obfuscated or checksummed.
The class <a class="link" href="http://www.eclipse.org/jetty/javadoc/9.4.28-SNAPSHOT/org/eclipse/jetty/util/security/Password.html" target="_top"><code class="literal">org.eclipse.jetty.util.security.Password</code></a> should be used to generate all varieties of passwords,the output from which can be put in to property files or entered into database tables.
See more on this under the Configuration section on <a class="link" href="configuring-security-secure-passwords.html" title="Secure Password Obfuscation">securing passwords</a>.</p></div></blockquote></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_jdbcloginmodule"></a>JDBCLoginModule</h4></div></div></div><p>The <code class="literal">JDBCLoginModule</code> stores user passwords and roles in a database that are accessed via JDBC calls.
You can configure the JDBC connection information, as well as the names of the table and columns storing the username and credential, and the names of the table and columns storing the roles.</p><p>Here is an example login module configuration file entry for it using an HSQLDB driver:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>jdbc {
      org.eclipse.jetty.jaas.spi.JDBCLoginModule required
      debug="true"
      dbUrl="jdbc:hsqldb:."
      dbUserName="sa"
      dbDriver="org.hsqldb.jdbcDriver"
      userTable="myusers"
      userField="myuser"
      credentialField="mypassword"
      userRoleTable="myuserroles"
      userRoleUserField="myuser"
      userRoleRoleField="myrole";
      };</code></pre><p>There is no particular schema required for the database tables storing the authentication and role information.
The properties <code class="literal">userTable</code>, <code class="literal">userField</code>, <code class="literal">credentialField</code>, <code class="literal">userRoleTable</code>, <code class="literal">userRoleUserField</code>, <code class="literal">userRoleRoleField</code> configure the names of the tables and the columns within them that are used to format the following queries:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>  select &lt;credentialField&gt; from &lt;userTable&gt;
          where &lt;userField&gt; =?
  select &lt;userRoleRoleField&gt; from &lt;userRoleTable&gt;
          where &lt;userRoleUserField&gt; =?</code></pre><p>Credential and role information is lazily read from the database when a previously unauthenticated user requests authentication.
Note that this information is <span class="emphasis"><em>only</em></span> cached for the length of the authenticated session.
When the user logs out or the session expires, the information is flushed from memory.</p><p>Note that passwords can be stored in the database in plain text or encoded formats - see the note on "Passwords/Credentials" above.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_datasourceloginmodule"></a>DataSourceLoginModule</h4></div></div></div><p>Similar to the <code class="literal">JDBCLoginModule</code>, but this <code class="literal">LoginModule</code> uses a <code class="literal">DataSource</code> to connect to the database instead of a JDBC driver. The <code class="literal">DataSource</code> is obtained by performing a JNDI lookup on <code class="literal">java:comp/env/${dnJNDIName}</code>.</p><p>A sample login module configuration using this method:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>ds {
     org.eclipse.jetty.jaas.spi.DataSourceLoginModule required
     debug="true"
     dbJNDIName="ds"
     userTable="myusers"
     userField="myuser"
     credentialField="mypassword"
     userRoleTable="myuserroles"
     userRoleUserField="myuser"
     userRoleRoleField="myrole";
    };</code></pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_propertyfileloginmodule"></a>PropertyFileLoginModule</h4></div></div></div><p>With this login module implementation, the authentication and role information is read from a property file.</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>props {
        org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
        debug="true"
        file="/somewhere/somefile.props";
      };</code></pre><p>The file parameter is the location of a properties file of the same format as the <code class="literal">etc/realm.properties</code> example file.
The format is:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>&lt;username&gt;: &lt;password&gt;[,&lt;rolename&gt; ...]</code></pre><p>Here&#8217;s an example:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>fred: OBF:1xmk1w261u9r1w1c1xmq,user,admin
harry: changeme,user,developer
tom: MD5:164c88b302622e17050af52c89945d44,user
dick: CRYPT:adpexzg3FUZAk,admin</code></pre><p>The contents of the file are fully read in and cached in memory the first time a user requests authentication.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_ldaploginmodule"></a>LdapLoginModule</h4></div></div></div><p>Here&#8217;s an example:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>ldaploginmodule {
   org.eclipse.jetty.jaas.spi.LdapLoginModule required
   debug="true"
   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";
   };</code></pre></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_writing_your_own_loginmodule"></a>Writing your Own LoginModule</h3></div></div></div><p>If you want to implement your own custom <code class="literal">LoginModule</code>, there are two classes to be familiar with:  <code class="literal">org.eclipse.jetty.jaas.spi.AbstractLoginModule</code> and <code class="literal">org.eclipse.jetty.jaas.spi.UserInfo</code>.</p><p>The <code class="literal">org.eclipse.jetty.jaas.spi.AbstractLoginModule</code> implements all of the <code class="literal">javax.security.auth.spi.LoginModule</code> methods.
All you need to do is to implement the <code class="literal">getUserInfo</code> method to return a <code class="literal">org.eclipse.jetty.jaas.UserInfo</code> instance which encapsulates the username, password and role names (note: as <code class="literal">java.lang.Strings</code>) for a user.</p><p>The <code class="literal">AbstractLoginModule</code> does not support any caching, so if you want to cache UserInfo (eg as does the <code class="literal">org.eclipse.jetty.jaas.spi.PropertyFileLoginModule</code>) then you must provide this yourself.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="_other_goodies"></a>Other Goodies</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_servletrequestcallback"></a>ServletRequestCallback</h4></div></div></div><p>This callback gives you access to the ServletRequest that is involved in the authentication, and thus to other features like the current Session. This callback can be configured in your custom LoginModule implementation. Note that none of the LoginModule implementations provided with Jetty currently use this callback.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_requestparametercallback"></a>RequestParameterCallback</h4></div></div></div><p>As all servlet containers intercept and process a form submission with action <code class="literal">j_security_check</code>, it is usually not possible to insert any extra input fields onto a login form with which to perform authentication: you may only pass <code class="literal">j_username</code> and <code class="literal">j_password</code>.
For those rare occasions when this is not good enough, and you require more information from the user in order to authenticate them, you can use the JAAS callback handler <code class="literal">org.eclipse.jetty.jaas.callback.RequestParameterCallback</code>.
This callback gives you access to all parameters that were passed in the form submission.
To use it, in the <code class="literal">login()</code> method of your custom login module, add the <code class="literal">RequestParameterCallback</code> to the list of callback handlers the login module uses, tell it which params you are interested in, and then get the value of the parameter back.
Here is an example:</p><pre xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><code>public class FooLoginModule extends AbstractLoginModule
{
     public boolean login()
        throws LoginException
     {

        Callback[] callbacks = new Callback[3];
        callbacks[0] = new NameCallback();
        callbacks[1] = new ObjectCallback();

        //as an example, look for a param named "extrainfo" in the request
        //use one RequestParameterCallback() instance for each param you want to access
        callbacks[2] = new RequestParameterCallback ();
        ((RequestParameterCallback)callbacks[2]).setParameterName ("extrainfo");


        callbackHandler.handle(callbacks);
        String userName = ((NameCallback)callbacks[0]).getName();
        Object pwd = ((ObjectCallback)callbacks[1]).getObject();
        List paramValues = ((RequestParameterCallback)callbacks[2]).getParameterValues();

        //use the userName, pwd and the value(s) of the parameter named "extrainfo" to
        //authenticate the user

     }
}</code></pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="_example_jaas_webapp"></a>Example JAAS WebApp</h4></div></div></div><p>An example webapp using JAAS can be found in the Jetty GitHub repository:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/eclipse/jetty.project/tree/jetty-9.4.x/tests/test-webapps/test-jaas-webapp" target="_top">https://github.com/eclipse/jetty.project/tree/master/tests/test-webapps/test-jaas-webapp</a></li></ul></div></div></div></div><script type="text/javascript">
      SyntaxHighlighter.all()
    </script><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="setting-port80-access.html"><i class="fa fa-chevron-left" aria-hidden="true"></i> Previous</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="configuring-security.html"><i class="fa fa-chevron-up" aria-hidden="true"></i> Top</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="spnego-support.html">Next <i class="fa fa-chevron-right" aria-hidden="true"></i></a></td></tr><tr><td width="40%" align="left" valign="top">Setting Port 80 Access for a Non-Root User&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html"><i class="fa fa-home" aria-hidden="true"></i> Home</a></td><td width="40%" align="right" valign="top">&nbsp;SPNEGO Support</td></tr></table></div><p xmlns:jfetch="java:org.eclipse.jetty.xslt.tools.JavaSourceFetchExtension" xmlns:fetch="java:org.eclipse.jetty.xslt.tools.SourceFetchExtension" xmlns:d="http://docbook.org/ns/docbook" xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" xmlns:xslthl="http://xslthl.sf.net" xmlns:gcse="http://www.google.com" xmlns:date="http://exslt.org/dates-and-times"><div class="jetty-callout">
            See an error or something missing?
            <span class="callout"><a href="http://github.com/eclipse/jetty.project">Contribute to this documentation at
                <span class="website"><i class="fa fa-github" aria-hidden="true"></i> Github!</span></a></span><span style="float: right"><i>(Generated: 2020-03-10)</i></span></div></p></body></html>