<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="IT" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I can&#8217;t get authenticated via JAAS when it&#8217;s used for ECP authentication. In fact, when Outlook (active client) tries to connect, the password is asked over and over.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Here is my module:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">******************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ShibUserPassAuth {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp; edu.vt.middleware.ldap.jaas.LdapLoginModule required<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host=&quot;localhost&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port=&quot;389&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base=&quot;CN=Users,DC=shibdomain,DC=local&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; serviceCredential=&quot;MYPASSWORD&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; serviceUser=&quot;adreader@shibdomain.local&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subtreeSearch = &quot;true&quot;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userField=&quot;sAMAccountName&quot;;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">******************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Nothing is traced in catalina.log, but this is what I get in idp-process.log. I frankly cannot identify an error message (I even get &#8220;<span style="background:lime;mso-highlight:lime">Authentication succeeded</span>&#8221;),
 however the authentication fails, can you help me debugging the following to identify what&#8217;s wrong?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">******************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:144] - Begin initialize<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:180] - useFirstPass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:181] - tryFirstPass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:182] - storePass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:183] - clearPass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:184] - setLdapPrincipal = true<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:185] - setLdapDnPrincipal = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:186] - setLdapCredential = true<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:187] - defaultRole = []<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:188] - principalGroupName = null<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:189] - roleGroupName = null<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.017 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:77] - userRoleAttribute = []<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1385] - setting searchScope: ONELEVEL<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:427] - setting subtreeSearch: true<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1385] - setting searchScope: SUBTREE<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1309] - setting bindCredential: &lt;suppressed&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1168] - setting ldapUrl: ldap://localhost:389<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:274] - setting userField: [sAMAccountName]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1276] - setting bindDn: adreader@shibdomain.local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.AuthenticatorConfig:1370] - setting baseDn: CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:83] - Created authenticator: edu.vt.middleware.ldap.auth.AuthenticatorConfig@2377718::env={java.naming.provider.url=ldap://localhost:389, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:412] - Begin getCredentials<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:413] -&nbsp;&nbsp; useFistPass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:414] -&nbsp;&nbsp; tryFistPass = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:415] -&nbsp;&nbsp; useCallback = false<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:416] -&nbsp;&nbsp; callbackhandler class = javax.security.auth.login.LoginContext$SecureCallbackHandler<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:419] -&nbsp;&nbsp; name callback class = javax.security.auth.callback.NameCallback<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:421] -&nbsp;&nbsp; password callback class = javax.security.auth.callback.PasswordCallback<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:108] - Looking up DN using userField<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:193] - Search with the following parameters:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:194] -&nbsp;&nbsp; dn = CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:195] -&nbsp;&nbsp; filter = (sAMAccountName={0})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:196] -&nbsp;&nbsp; filterArgs = [aldo.minella]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:197] -&nbsp;&nbsp; searchControls = javax.naming.directory.SearchControls@18bd39a<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:198] -&nbsp;&nbsp; handler = [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler@f139cb]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.auth.SearchDnResolver:200] -&nbsp;&nbsp; config = {java.naming.provider.url=ldap://localhost:389, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:93] - setting connectionStrategy: DEFAULT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:110] - setting connectionRetryExceptions: [class javax.naming.NamingException]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:152] - {0} Attempting connection to ldap://localhost:389 for strategy DEFAULT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:74] - Bind with the following parameters:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:75] -&nbsp;&nbsp; authtype = simple<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:76] -&nbsp;&nbsp; dn = adreader@shibdomain.local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:83] -&nbsp;&nbsp; credential = &lt;suppressed&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.048 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:87] -&nbsp;&nbsp; env = {java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url=ldap://localhost:389}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler:69] - processing relative dn: CN=Aldo Minella<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler:95] - processed dn: CN=Aldo Minella,CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:93] - setting connectionStrategy: DEFAULT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:110] - setting connectionRetryExceptions: [class javax.naming.NamingException]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:152] - {1} Attempting connection to ldap://localhost:389 for strategy DEFAULT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:74] - Bind with the following parameters:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:75] -&nbsp;&nbsp; authtype = simple<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:76] -&nbsp;&nbsp; dn = CN=Aldo Minella,CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - DEBUG [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:83] -&nbsp;&nbsp; credential = &lt;suppressed&gt;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.080 - TRACE [edu.vt.middleware.ldap.handler.DefaultConnectionHandler:87] -&nbsp;&nbsp; env = {java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.provider.url=ldap://localhost:389}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="background:lime;mso-highlight:lime">12:38:24.080 - INFO [edu.vt.middleware.ldap.jaas.JaasAuthenticator:176] - Authentication succeeded for dn: CN=Aldo Minella,CN=Users,DC=shibdomain,DC=local</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:108] - Looking up DN using userField<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:193] - Search with the following parameters:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:194] -&nbsp;&nbsp; dn = CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:195] -&nbsp;&nbsp; filter = (sAMAccountName={0})<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:196] -&nbsp;&nbsp; filterArgs = [aldo.minella]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:197] -&nbsp;&nbsp; searchControls = javax.naming.directory.SearchControls@6aad80<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.auth.SearchDnResolver:198] -&nbsp;&nbsp; handler = [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler@f139cb]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - TRACE [edu.vt.middleware.ldap.auth.SearchDnResolver:200] -&nbsp;&nbsp; config = {java.naming.provider.url=ldap://localhost:389, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - TRACE [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler:69] - processing relative dn: CN=Aldo Minella<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - TRACE [edu.vt.middleware.ldap.handler.FqdnSearchResultHandler:95] - processed dn: CN=Aldo Minella,CN=Users,DC=shibdomain,DC=local<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - TRACE [edu.vt.middleware.ldap.jaas.LdapLoginModule:208] - Begin commit<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:223] - Committed the following principals: [aldo.minella[]]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">12:38:24.095 - DEBUG [edu.vt.middleware.ldap.jaas.LdapLoginModule:229] - Committed the following roles: []<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">******************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mauro</span><span style="color:#1F497D;mso-fareast-language:IT"><o:p></o:p></span></p>
</div>
</body>
</html>