<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Farrukh,
<div><br>
</div>
<div>It's your choice whether authentication happens via an anonymous BIND or via a search by an authenticated DN. The LDAP login module supports both.</div>
<div><br>
</div>
<div>In order to retrieve attributes about the user from a directory, the IdP will need a privileged user account to perform the search.<br>
<div><br>
</div>
<div>Thanks,</div>
<div>Nate.</div>
<div><br>
<div>
<div>On May 20, 2013, at 19:25 , Farrukh Najmi wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix"><br>
I am wondering ifmy authentication problem with my ldap server is due to my not specifying bindDN and bindCredential in my edu.vt.middleware.ldap.jaas.LdapLoginModule configuration.
<br>
<br>
My Ldap server does not have a privileged user to create the connection with. Thus I do not specify bindDN and bindCredential in my edu.vt.middleware.ldap.jaas.LdapLoginModule configuration.
<br>
<br>
Is this the correct thing to do in my situation?<br>
<br>
On 05/20/2013 01:09 PM, Farrukh Najmi wrote:<br>
</div>
<blockquote cite="mid:519A58E1.2060507@wellfleetsoftware.com" type="cite">
<div class="moz-cite-prefix"><br>
And here are the debug messages leading up to the authenticatiuon failure. Again the same config works with spring-security in my webapp and it also works with a JXplorer
<a moz-do-not-send="true" href="http://sourceforge.net/projects/jxplorer/?source=dlp">
random ldap viewer app</a> I tried.<br>
<br>
12:49:53.138 - DEBUG [edu.internet2.middleware.shibboleth.idp.authn.provider.UsernamePasswordLoginServlet:170] - Attempting to authenticate user rod<br>
12:49:53.155 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:144] - Begin initialize<br>
12:49:53.155 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:180] - useFirstPass = false<br>
12:49:53.155 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:181] - tryFirstPass = false<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:182] - storePass = false<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:183] - clearPass = false<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:184] - setLdapPrincipal = true<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:185] - setLdapDnPrincipal = false<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:186] - setLdapCredential = true<br>
12:49:53.156 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:187] - defaultRole = []<br>
12:49:53.157 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:188] - principalGroupName = null<br>
12:49:53.157 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:189] - roleGroupName = null<br>
12:49:53.157 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:77] - userRoleAttribute = []<br>
12:49:53.178 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1385] - setting searchScope: ONELEVEL<br>
12:49:53.181 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1370] - setting baseDn:
<br>
12:49:53.182 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1834] - setting ssl: false<br>
12:49:53.182 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1168] - setting ldapUrl:
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org">
ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org</a><br>
12:49:53.183 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:290] - setting userFilter: uid={0}<br>
12:49:53.184 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:83] - Created authenticator: edu.vt.middleware.ldap.auth.AuthenticatorConfig@611704718::env={java.naming.provider.url=<a moz-do-not-send="true" class="moz-txt-link-freetext" href="ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org">ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org</a>,
java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory}<br>
12:49:53.185 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:412] - Begin getCredentials<br>
12:49:53.185 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:413] - useFistPass = false<br>
12:49:53.186 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:414] - tryFistPass = false<br>
12:49:53.186 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:415] - useCallback = false<br>
12:49:53.186 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:416] - callbackhandler class = javax.security.auth.login.LoginContext$SecureCallbackHandler<br>
12:49:53.186 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:419] - name callback class = javax.security.auth.callback.NameCallback<br>
12:49:53.186 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:421] - password callback class = javax.security.auth.callback.PasswordCallback<br>
12:49:53.187 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:102] - Looking up DN using userFilter<br>
12:49:53.188 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:193] - Search with the following parameters:<br>
12:49:53.188 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:194] - dn = <br>
12:49:53.188 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:195] - filter = uid={0}<br>
12:49:53.189 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:196] - filterArgs = [rod]<br>
12:49:53.189 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:197] - searchControls = javax.naming.directory.SearchControls@69a6c106<br>
12:49:53.189 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:198] - handler = [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler@42caa71a]<br>
12:49:53.189 - TRACE [edu.vt.middleware.ldap.auth.SearchDnResolver:200] - config = {java.naming.provider.url=<a moz-do-not-send="true" class="moz-txt-link-freetext" href="ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org">ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org</a>,
java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory}<br>
12:49:53.190 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:93] - setting connectionStrategy: DEFAULT<br>
12:49:53.190 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:110] - setting connectionRetryExceptions: [class javax.naming.NamingException]<br>
12:49:53.190 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:152] - {0} Attempting connection to
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org">
ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org</a> for strategy DEFAULT<br>
12:49:53.190 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:74] - Bind with the following parameters:<br>
12:49:53.191 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:75] - authtype = simple<br>
12:49:53.191 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:76] - dn = null<br>
12:49:53.191 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:83] - credential = <suppressed><br>
12:49:53.191 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:87] - env = {java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url=<a moz-do-not-send="true" class="moz-txt-link-freetext" href="ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org">ldap://wellfleet1.wellfleetsoftware.com:33389/dc=springframework,dc=org</a>}<br>
12:49:53.215 - INFO [edu.vt.middleware.ldap.auth.SearchDnResolver:161] - Search for user: rod failed using filter: uid={0}<br>
12:49:53.223 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:136] - Authentication failed<br>
javax.naming.AuthenticationException: Cannot authenticate dn, invalid dn<br>
at edu.vt.middleware.ldap.auth.AbstractAuthenticator.authenticateAndAuthorize(AbstractAuthenticator.java:160) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.jaas.JaasAuthenticator.authenticate(JaasAuthenticator.java:74) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.auth.Authenticator.authenticate(Authenticator.java:320) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.auth.Authenticator.authenticate(Authenticator.java:277) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.jaas.JaasAuthenticator.authenticate(JaasAuthenticator.java:60) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.jaas.LdapLoginModule.login(LdapLoginModule.java:103) ~[vt-ldap-3.3.6.jar:na]<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_21]<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_21]<br>
at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_21]<br>
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784) [na:1.7.0_21]<br>
<br>
<br>
On 05/20/2013 12:54 PM, Farrukh Najmi wrote:<br>
</div>
<blockquote cite="mid:519A5551.9060203@wellfleetsoftware.com" type="cite">
<div class="moz-cite-prefix"><br>
Here is the relevant stack trace from logs/idp-process.log. <br>
<br>
12:49:53.223 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:136] - Authentication failed<br>
javax.naming.AuthenticationException: Cannot authenticate dn, invalid dn<br>
at edu.vt.middleware.ldap.auth.AbstractAuthenticator.authenticateAndAuthorize(AbstractAuthenticator.jav<br>
a:160) ~[vt-ldap-3.3.6.jar:na]<br>
at edu.vt.middleware.ldap.jaas.JaasAuthenticator.authenticate(JaasAuthenticator.java:74) ~[vt-ldap-3.3.<br>
6.jar:na]<br>
at edu.vt.middleware.ldap.auth.Authenticator.authenticate(Authenticator.java:320) ~[vt-ldap-3.3.6.jar:n<br>
a]<br>
at edu.vt.middleware.ldap.auth.Authenticator.authenticate(Authenticator.java:277) ~[vt-ldap-3.3.6.jar:n<br>
a]<br>
at edu.vt.middleware.ldap.jaas.JaasAuthenticator.authenticate(JaasAuthenticator.java:60) ~[vt-ldap-3.3.<br>
6.jar:na]<br>
at edu.vt.middleware.ldap.jaas.LdapLoginModule.login(LdapLoginModule.java:103) ~[vt-ldap-3.3.6.jar:na]<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_21]<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_21]<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_21]<br>
at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_21]<br>
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784) [na:1.7.0_21]<br>
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203) [na:1.7.0_21]<br>
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698) [na:1.7.0_21]<br>
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696) [na:1.7.0_21]<br>
<br>
<br>
FWIW, The same config works fine in my webapp using spring-security.<br>
<br>
<bean id="contextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource"><br>
<constructor-arg value=<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="ldap://localhost:33389/dc=springframework,dc=org">"ldap://localhost:33389/dc=springframework,dc=org"</a>/><br>
</bean><br>
<br>
<bean id="userSearch" class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch"><br>
<constructor-arg index="0" value=""/><br>
<constructor-arg index="1" value="(uid={0})"/><br>
<constructor-arg index="2" ref="contextSource" /><br>
</bean><br>
<br>
Any suggestions what else could I try?<br>
<br>
On 05/20/2013 12:07 PM, Farrukh Najmi wrote:<br>
</div>
<blockquote cite="mid:519A4A3C.6000500@wellfleetsoftware.com" type="cite"><br>
I have been unsuccessful thus far in setting up IdP 2.4.0 with my test ldap server (spring-security-ldap-sample).<br>
<br>
I have made the following config changes by adding config elements shown for each file below:<br>
<br>
<ul style="margin-top:0pt;margin-bottom:0pt;" id="docs-internal-guid-67ebb44e-c29c-e9ff-cdbb-e95ad1814002">
<li dir="ltr" style="list-style-type:disc;font-size:16px;font-family:Arial;color:#666666;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">conf/login.config</span></div>
</li></ul>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><br class="kix-line-break">
edu.vt.middleware.ldap.jaas.LdapLoginModule required</span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> ldapUrl=<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="ldap://localhost:33389/dc=springframework,dc=org">"ldap://localhost:33389/dc=springframework,dc=org"</a></span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> baseDn=""</span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> ssl="false"</span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"> userFilter="uid={0}";</span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">};</span></div>
<ul style="margin-top:0pt;margin-bottom:0pt;">
<li dir="ltr" style="list-style-type:disc;font-size:16px;font-family:Arial;color:#666666;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
<h3 dir="ltr" style="line-height:1.15;margin-top:14pt;margin-bottom:4pt;"><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">conf/handler.xml</span></h3>
</li></ul>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"><br class="kix-line-break">
<!-- Username/password login handler --> </span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
<ph:LoginHandler xsi:type="ph:UsernamePassword"</span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
jaasConfigurationLocation=<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="file:///home/najmi/shibboleth/shibboleth-identityprovider-2.4.0/installation/conf/login.config">"file:///home/najmi/shibboleth/shibboleth-identityprovider-2.4.0/installation/conf/login.config"</a>></span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
<ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</ph:AuthenticationMethod></span></div>
<div style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; "><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;">
</ph:LoginHandler></span></div>
<br>
<span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"></span>I then try and login at the idp/login.jsp page with well-known
credentials. I get the error below.<br>
<h3>ERROR</h3>
<p>An error occurred while processing your request. Please contact your helpdesk or user ID office for assistance.
</p>
<p><strong>Error Message: Invalid IdP URL (HTTP 404)</strong> </p>
<br>
Also, I notice that the login.jsp code "Log in to <idpui:serviceName/>"<br>
<br>
renders as "Log in to Unspecified Service Provider". I guess this is telling that my config for the ldap provider is not being read for some reason.<br>
<br>
I have done no customization of the login.jsp page beyond changing the logo. <br>
What could be wrong and how can I debug this better.<br>
<br>
TIA for your kind help.<br>
<br>
</blockquote>
<br>
</blockquote>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Regards,
Farrukh Najmi
Web: <a class="moz-txt-link-freetext" href="http://www.wellfleetsoftware.com/">http://www.wellfleetsoftware.com</a>
</pre>
</div>
--<br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net">
users-unsubscribe@shibboleth.net</a></blockquote>
</div>
<br>
</div>
</div>
</body>
</html>