No such file or directory Error (ShibIdP 2.3.6 on Server 2008 R2)

Rod Widdowson rdw at steadingsoftware.com
Sat Jun 2 11:00:32 BST 2012


I have reproduced (and worked around) something similar here..

In handler.xml what does In handler.xml what does jaasConfigurationLocation point to.

If it points says

       jaasConfigurationLocation="file://c:/Program Files/Shibboleth/Idp/conf/login.config"

Then you are missing a '/' in the url

       jaasConfigurationLocation="file:///c:/Program Files/Shibboleth/Idp/conf/login.config"

This is an error/impedance mismatch which comes and goes with java versions...

Rod

> -----Original Message-----
> From: users-bounces at shibboleth.net [mailto:users-bounces at shibboleth.net] On Behalf Of Dan McLaughlin
> Sent: 01 June 2012 13:39
> To: Shib Users
> Subject: Re: No such file or directory Error (ShibIdP 2.3.6 on Server 2008 R2)
> 
> I'm seeing the same behavior, but it seems to be JDK 7 + Window 2008
> R2 related b/c I can switch back to JDK 6 and things work again. Oddly enough we have no issues with
> JDK 7 on Linux.  Has anyone else seen this behavior on JDK 7 before?
> 
> --
> 
> Thanks,
> 
> Dan
> 
> 
> 
> On Wed, May 16, 2012 at 3:34 PM, Austin Lin <ALin at lfschools.net> wrote:
> > Hi,
> >
> > I am getting the same error (No such file or directory) when trying to authenticate via LDAP to
> TestShib, I have included the log entry for the error as well as the relevant sections of
> login.config, handler.xml, and attribute-resolver.xml. Any help would be greatly appreciated. Shib
> (shibboleth-identityprovider-2.3.6.msi) is running on Windows Server 2008 R2 (64 bit).
> >
> > Thanks,
> >
> > Austin Lin
> > Lake Forest High School Technology
> >
> >
> > 15:15:31.797 - DEBUG
> > [edu.internet2.middleware.shibboleth.idp.authn.provider.UsernamePasswo
> > rdLoginServlet:197] - User authentication for the-user-name failed
> > java.lang.SecurityException: Configuration Error:
> >        No such file or directory
> >        at com.sun.security.auth.login.ConfigFile.<init>(Unknown
> > Source) ~[na:1.7.0_04]
> >        at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > ~[na:1.7.0_04]
> >        at
> > sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
> > ~[na:1.7.0_04]
> >        at
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> > Source) ~[na:1.7.0_04]
> >        at java.lang.reflect.Constructor.newInstance(Unknown Source)
> > ~[na:1.7.0_04]
> >        at java.lang.Class.newInstance0(Unknown Source) ~[na:1.7.0_04]
> >        at java.lang.Class.newInstance(Unknown Source) ~[na:1.7.0_04]
> >        at javax.security.auth.login.Configuration$3.run(Unknown
> > Source) ~[na:1.7.0_04]
> >        at javax.security.auth.login.Configuration$3.run(Unknown
> > Source) ~[na:1.7.0_04]
> >        at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.7.0_04]
> >        at
> > javax.security.auth.login.Configuration.getConfiguration(Unknown
> > Source) ~[na:1.7.0_04]
> >        at javax.security.auth.login.LoginContext$1.run(Unknown Source)
> > ~[na:1.7.0_04]
> >        at javax.security.auth.login.LoginContext$1.run(Unknown Source)
> > ~[na:1.7.0_04]
> >        at java.security.AccessController.doPrivileged(Native Method)
> > ~[na:1.7.0_04]
> >        at javax.security.auth.login.LoginContext.init(Unknown Source)
> > ~[na:1.7.0_04]
> >        at javax.security.auth.login.LoginContext.<init>(Unknown
> > Source) ~[na:1.7.0_04]
> >        at
> > edu.internet2.middleware.shibboleth.idp.authn.provider.UsernamePasswor
> > dLoginServlet.authenticateUser(UsernamePasswordLoginServlet.java:174)
> > [shibboleth-identityprovider-2.3.6.jar:na]
> >        at
> > edu.internet2.middleware.shibboleth.idp.authn.provider.UsernamePasswor
> > dLoginServlet.service(UsernamePasswordLoginServlet.java:123)
> > [shibboleth-identityprovider-2.3.6.jar:na]
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> > [servlet-api.jar:na]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:290) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:206) [catalina.jar:6.0.32]
> >        at
> > edu.internet2.middleware.shibboleth.idp.util.NoCacheFilter.doFilter(No
> > CacheFilter.java:50) [shibboleth-identityprovider-2.3.6.jar:na]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:235) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:206) [catalina.jar:6.0.32]
> >        at
> > edu.internet2.middleware.shibboleth.idp.session.IdPSessionFilter.doFil
> > ter(IdPSessionFilter.java:81)
> > [shibboleth-identityprovider-2.3.6.jar:na]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:235) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:206) [catalina.jar:6.0.32]
> >        at
> > edu.internet2.middleware.shibboleth.common.log.SLF4JMDCCleanupFilter.d
> > oFilter(SLF4JMDCCleanupFilter.java:52)
> > [shibboleth-common-1.3.5.jar:na]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:235) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:206) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:233) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:191) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:127) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:102) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:109) [catalina.jar:6.0.32]
> >        at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :298) [catalina.jar:6.0.32]
> >        at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> > 859) [tomcat-coyote.jar:6.0.32]
> >        at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
> > s(Http11Protocol.java:588) [tomcat-coyote.jar:6.0.32]
> >        at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
> > ) [tomcat-coyote.jar:6.0.32]
> >        at java.lang.Thread.run(Unknown Source) [na:1.7.0_04] Caused
> > by: java.io.IOException: Configuration Error:
> >        No such file or directory
> >        at com.sun.security.auth.login.ConfigFile.init(Unknown Source)
> > ~[na:1.7.0_04]
> >        at com.sun.security.auth.login.ConfigFile.init(Unknown Source)
> > ~[na:1.7.0_04]
> >        ... 40 common frames omitted
> >
> >
> > login.config (for MS Active Directory):
> >
> > ShibUserPassAuth {
> >
> > // Example LDAP authentication
> > // See: https://spaces.internet2.edu/display/SHIB2/IdPAuthUserPass
> >
> >   edu.vt.middleware.ldap.jaas.LdapLoginModule required
> >      host="hdc1.lfschools.net"
> >      port="389"
> >      base="OU=Users,OU=D115,DC=lfschools,DC=net"
> >      serviceCredential="strong-password"
> >      userRoleAttribute="sAMAccountName"
> >      // serviceUser="the-service-account at lfschools.net"
> >      serviceUser="CN=Service Account,CN=Users,DC=lfschools,DC=net"
> >      subtreeSearch="true"
> >      userField="sAMAccountName";
> >
> > // Example Kerberos authentication, requires Sun's JVM // See:
> > https://spaces.internet2.edu/display/SHIB2/IdPAuthUserPass
> > /*
> >   com.sun.security.auth.module.Krb5LoginModule required
> >      useKeyTab="true"
> >      keyTab="/path/to/idp/keytab/file";
> > */
> >
> > };
> >
> > handler.xml (login handlers):
> >
> >  <ph:LoginHandler xsi:type="ph:UsernamePassword"
> >
> > jaasConfigurationLocation="file://C:\Internet2\Shib2Idp/conf/login.con
> > fig">
> >
> > <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:Passwo
> > rdProtectedTransport</ph:AuthenticationMethod>
> >
> > <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:unspec
> > ified</ph:AuthenticationMethod>
> >    </ph:LoginHandler>
> >
> >    <ph:LoginHandler xsi:type="ph:PreviousSession">
> >
> > <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:Previo
> > usSession</ph:AuthenticationMethod>
> >    </ph:LoginHandler>
> >
> > attribute-resolver.xml (ldap data connector):
> >
> > <resolver:DataConnector id="myLDAP" xsi:type="LDAPDirectory"
> xmlns="urn:mace:shibboleth:2.0:resolver:dc"
> >        useStartTLS="false"
> >        ldapURL="ldap://hdc1.lfschools.net:389" baseDN="OU=Users,OU=D115,DC=lfschools,DC=net"
> principal="the-service-account at lfschools.net"
> >        principalCredential="strong-password">
> >        <FilterTemplate>
> >            <![CDATA[
> >                (sAMAccountName=$requestContext.principalName)
> >            ]]>
> >        </FilterTemplate>
> >
> >        <!-- We rely on the uniqueness of the objectSid.  But it is
> > binary so we *must* make it so -->
> >        <LDAPProperty name="java.naming.ldap.attributes.binary"
> > value="objectSid"/>
> >        <!-- If we are following from the GC we need thus on -->
> >        <LDAPProperty name="java.naming.referral" value="follow"/>
> >
> >    </resolver:DataConnector>
> > --
> > To unsubscribe from this list send an email to
> > users-unsubscribe at shibboleth.net
> --
> To unsubscribe from this list send an email to users-unsubscribe at shibboleth.net



More information about the users mailing list