Is there a way to programmatically add Form based Authentication as per below?
I am using my own LdapLoginModule
. Initially I use Basic Authentication and it worked OK, but now I want more control on the Login page (like display logo, etc)
Is there any good samples?
I am using embedded jetty v8.1.7 . I don't use any web.xml for embedded jetty. The jetty server is started programmatically.
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Test JAAS Realm</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
Create a
FormAuthenticator
and set this on yourSecurityHandler
for theServletContextHandler
. This code creates a trivial server with 2 servlets. The first servlet responds with a hello messsage to the authenticated user name. The second servlet implements a trivial login form.You should be able to paste the code into a
main[]
and run (you will need the following jars in your classpath;jetty-server
,jetty-servlet
andjetty-security
). To test, point a browser athttp://localhost:8080
, you should be prompted for credentials (username / password) before seeing a response ofhello username
.