[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jetty-users] Re: Problems configuring Jetty for LDAP authentication
|
I found my problem. If I change forceBindingLogin to true in login.conf, then everything works.
On Jun 14, 2010, at 10:25 AM, Loren Cahlander wrote:
> Hello,
>
> I am trying to configure Jetty for LDAP authentication. Can someone tell me what is wrong in my login.conf?
>
> Here is an authentication that works under the Apache 2.2 configuration:
>
> Alias /doc/ "/usr/share/doc/"
> <Directory "/usr/share/doc/">
> Options Indexes MultiViews FollowSymLinks
> AllowOverride None
> Order allow,deny
> Allow from all
> AuthBasicProvider ldap
> AuthUserFile /dev/null
> AuthType Basic
> AuthName "Subversion Authentication"
> AuthBasicProvider ldap
> # The distinguished name to bind to the directory server
> AuthLDAPBindDN "cn=admin,dc=exist-db,dc=org"
>
> # The password for the user above
> AuthLDAPBindPassword "1234"
> AuthLDAPUrl "ldap://127.0.0.1:389/ou=Users,dc=exist-db,dc=org?uid?sub?(objectclass=posixAccount)"
> AuthLDAPGroupAttribute memberUid
> AuthLDAPGroupAttributeIsDN off
> AuthLDAPCompareDNOnServer off
> AuthzLDAPAuthoritative on
> Require ldap-group cn=dba,ou=Groups,dc=exist-db,dc=org
>
> </Directory>
>
> Here is the Authentication Login Service information in jetty.xml:
>
> <!-- =========================================================== -->
> <!-- Configure Authentication Login Service -->
> <!-- =========================================================== -->
> <Call class="java.lang.System" name="setProperty">
> <Arg>java.security.auth.login.config</Arg>
> <Arg><SystemProperty name="jetty.home" default="." />/etc/login.conf</Arg>
> </Call>
>
> <Call name="addBean">
> <Arg>
> <New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
> <Set name="name">JAASLoginService</Set>
> <Set name="LoginModuleName">eXistDB</Set>
> </New>
> </Arg>
> </Call>
>
>
> My login.conf under Jetty is:
>
> eXistDB {
> org.eclipse.jetty.plus.jaas.spi.LdapLoginModule REQUIRED
> debug="true"
> useLdaps="false"
> contextFactory="com.sun.jndi.ldap.LdapCtxFactory"
> hostname="127.0.0.1"
> port="389"
> bindDn="cn=admin,dc=exist-db,dc=org"
> bindPassword="1234"
> authenticationMethod="simple"
> forceBindingLogin="false"
> userBaseDn="ou=Users,dc=exist-db,dc=org"
> userRdnAttribute="uid"
> userIdAttribute="uid"
> userPasswordAttribute="userPassword"
> userObjectClass="posixAccount"
> roleBaseDn="ou=Groups,dc=exist-db,dc=org"
> roleNameAttribute="cn"
> roleMemberAttribute="memberUid"
> roleObjectClass="posixGroup";
> };
>
>
> And I am getting the following error:
>
>
> 14 Jun 2010 10:20:08,143 [qtp2133251039-20] INFO (Slf4jLog.java [info]:92) - Searching for users with filter: '(&(objectClass={0})({1}={2}))' from base dn: ou=Users,dc=exist-db,dc=org
> 14 Jun 2010 10:20:08,145 [qtp2133251039-20] INFO (Slf4jLog.java [info]:92) - Found user?: true
> 14 Jun 2010 10:20:08,152 [qtp2133251039-20] WARN (Slf4jLog.java [warn]:124) - EXCEPTION
> javax.security.auth.login.LoginException: Login Failure: all modules ignored
> at javax.security.auth.login.LoginContext.invoke(LoginContext.java:936)
> at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
> at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)
> at javax.security.auth.login.LoginContext.login(LoginContext.java:594)
> at org.eclipse.jetty.plus.jaas.JAASLoginService.login(JAASLoginService.java:203)
> at org.eclipse.jetty.security.authentication.FormAuthenticator.validateRequest(FormAuthenticator.java:174)
> at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:417)
> at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:933)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
> at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
> at org.eclipse.jetty.server.Server.handle(Server.java:334)
> at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
> at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209)
> at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
> at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
> at java.lang.Thread.run(Thread.java:636)
>