8 Replies Latest reply on Sep 25, 2013 4:56 PM by m.breevoort

    JBoss AS 7 is still trying to locate login-config.xml

    fabiovc27

      I have migrated our application from JBoss 4.0.5 to JBoss AS 7 and the only thing left to be completely done is to allow JBoss 7 to authenticate users via Kerberos SSO as we used to in JBoss 4.0.5.

       

      The documentation says that now I can simply use the standalone.xml and put the contents of my previous login-config.xml file in there and specify the type of authentication and necessary properties such as the SPN.   However, when I try to login I see this exception on my logs:

       

      18:17:39,628 WARN  [org.jboss.security.auth.login.XMLLoginConfigImpl] (http-executor-threads - 10) End loadConfig, failed to load config: file:/login-config.xml: java.io.FileNotFoundException: /login-config.xml (No such file or directory)

                at java.io.FileInputStream.open(Native Method) [classes.jar:1.6.0_22]

                at java.io.FileInputStream.<init>(FileInputStream.java:106) [classes.jar:1.6.0_22]

                at java.io.FileInputStream.<init>(FileInputStream.java:66) [classes.jar:1.6.0_22]

                at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) [classes.jar:1.6.0_22]

                at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) [classes.jar:1.6.0_22]

                at java.net.URL.openStream(URL.java:1010) [classes.jar:1.6.0_22]

                at org.jboss.security.auth.login.XMLLoginConfigImpl.loadSunConfig(XMLLoginConfigImpl.java:440) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:408) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:379) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                at org.jboss.security.auth.login.XMLLoginConfigImpl.refresh(XMLLoginConfigImpl.java:118) [picketbox-4.0.7.Final.jar:4.0.7.Final]

       

      This tells me that somehow JB7 is not aware that I'm trying to configure this information in the standalone.xml file and not in the login-config.xml.   I'm not even packaging that file anymore since the documentation says it is no longer used.

       

      Has anyone gotten SSO to work by using their previous login-config.xml contents into the standalone.xml or domain.xml files

       

      Any help woill be greatly appreciated, it seems this portion of the documetation is still lacking quite a bit.

       

      Thank you

      -Valentino

        • 1. Re: JBoss AS 7 is still trying to locate login-config.xml
          jaikiran

          Can you post the entire exception stacktrace and any configuration changes you did to the standalone*.xml?

          • 2. Re: JBoss AS 7 is still trying to locate login-config.xml
            dlofthouse

            Please see the following article for an example to configure JBoss Negotiation with AS7 Using JBoss Negotiation on AS7 The schemas used in AS7 are different from the previous schemas so some changes will be required.

            • 3. Re: JBoss AS 7 is still trying to locate login-config.xml
              fabiovc27

              Hi Jaikiran and Darran,

               

              Thank you for your responses ...

               

              Here are the changes I made to the standalone.xml , I have added these 2 security domains in the security subsystem :

               

              <subsystem xmlns="urn:jboss:domain:security:1.1">

                          <security-domains>

                              <security-domain name="host" cache-type="default">

                                  <authentication>

                                      <login-module code="Kerberos" flag="required">

                                          <module-option name="principal" value="universaltype/vcruz-mac-pro.extnsis.com"/>

                                          <module-option name="useKeyTab" value="false"/>

                                          <module-option name="useTicketCache" value="false"/>

                                          <module-option name="doNotPrompt" value="false"/>

                                          <module-option name="storeKey" value="true"/>

                                          <module-option name="refreshKrb5Config" value="true"/>

                                      </login-module>

                                  </authentication>

                              </security-domain>

                              <security-domain name="SPNEGO" cache-type="default">

                                  <authentication>

                                      <login-module code="SPNEGO" flag="requisite">

                                          <module-option name="password-stacking" value="useFirstPass"/>

                                          <module-option name="serverSecurityDomain" value="host"/>

                                      </login-module>

                                  </authentication>

                              </security-domain>

               

              I've also looked at the "Using JBoss Negotiation on AS7" that Darran suggested I look at.  And I replaced my jboss-web.xmls with the changes suggested in there so now I have jboss-web.xml as follows:

               

              <!DOCTYPE jboss-web PUBLIC

                "-//JBoss//DTD Web Application 2.4//EN"

                "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">   

               

                <jboss-web>

                  <security-domain>java:/jaas/SPNEGO</security-domain>

                  <valve>

                    <class-name>org.jboss.security.negotiation.NegotiationAuthenticator</class-name>

                  </valve>

                </jboss-web>

               

               

              And here is a full stack trace below.
              Thanks again I really appreciate any suggestions.

               

              17:36:13,647 WARN  [org.jboss.security.auth.login.XMLLoginConfigImpl] (http-executor-threads - 6) End loadConfig, failed to load config: file:/login-config.xml: java.io.FileNotFoundException: /login-config.xml (No such file or directory)

                        at java.io.FileInputStream.open(Native Method) [classes.jar:1.6.0_22]

                        at java.io.FileInputStream.<init>(FileInputStream.java:106) [classes.jar:1.6.0_22]

                        at java.io.FileInputStream.<init>(FileInputStream.java:66) [classes.jar:1.6.0_22]

                        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) [classes.jar:1.6.0_22]

                        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) [classes.jar:1.6.0_22]

                        at java.net.URL.openStream(URL.java:1010) [classes.jar:1.6.0_22]

                        at org.jboss.security.auth.login.XMLLoginConfigImpl.loadSunConfig(XMLLoginConfigImpl.java:440) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                        at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:408) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                        at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:379) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                        at org.jboss.security.auth.login.XMLLoginConfigImpl.refresh(XMLLoginConfigImpl.java:118) [picketbox-4.0.7.Final.jar:4.0.7.Final]

                        at extensis.esp.core.manager.SystemManager.verifyKerberos(SystemManager.java:931) [esp-core.jar:]

                        at extensis.esp.core.manager.SystemManager.updateIdentityService(SystemManager.java:1345) [esp-core.jar:]

                        at extensis.esp.core.ejb.SystemFacade$UpdateIdentityServiceFacadeMethod.doTransaction(SystemFacade.java:394) [esp-core-ejb.jar:]

                        at extensis.esp.core.common.EspSessionBean$AbstractFacadeMethod.invoke(EspSessionBean.java:445) [esp-core-ejb.jar:]

                        at extensis.esp.core.ejb.SystemFacade.updateIdentityService(SystemFacade.java:381) [esp-core-ejb.jar:]

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_22]

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_22]

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_22]

                        at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_22]

                        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:80) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$1.processInvocation(EjbExceptionTransformingInterceptorFactories.java:65) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:179) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:179) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:43) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at $Proxy51.updateIdentityService(Unknown Source)          at extensis.esp.core.service.CoreServiceImpl$UpdateIdentityServiceMethodImpl.doIt(CoreServiceImpl.java:421) [esp-core.jar:]

                        at extensis.esp.core.service.ServiceMethod.invokeServiceMethod(ServiceMethod.java:137) [esp-core.jar:]

                        at extensis.esp.core.service.CoreServiceImpl.updateIdentityService(CoreServiceImpl.java:402) [esp-core.jar:]

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_22]

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_22]

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_22]

                        at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_22]

                        at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:471) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75) [jaxws-rt.jar:2.1.7]

                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)

                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

                        at extensis.esp.core.servlet.FlexFaultFilter.doFilter(FlexFaultFilter.java:32) [esp-core.jar:]

                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)

                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)

                        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

                        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

                        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397)

                        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)

                        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)

                        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

                        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

                        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)

                        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

                        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)

                        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:518)

                        at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_22]

                        at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

               

               

              17:36:13,747 ERROR [extensis.esp.core] (http-executor-threads - 6) 124          <unknown>          <unknown>          updateIdentityService: extensis.esp.exception.EspException: InvalidKerberosConfiguration; nested exception is:

                        javax.security.auth.login.LoginException: No LoginModules configured for com.sun.security.jgss.accept

                        at extensis.esp.core.identity.auth.GSSCredentialsValidator.verifyServerConfigurationWithSPNCred(GSSCredentialsValidator.java:515) [esp-core.jar:]

                        at extensis.esp.core.identity.auth.GSSCredentialsValidator.verifyServerSSOConfiguration(GSSCredentialsValidator.java:122) [esp-core.jar:]

                        at extensis.esp.core.manager.SystemManager.verifyKerberos(SystemManager.java:925) [esp-core.jar:]

                        at extensis.esp.core.manager.SystemManager.updateIdentityService(SystemManager.java:1345) [esp-core.jar:]

                        at extensis.esp.core.ejb.SystemFacade$UpdateIdentityServiceFacadeMethod.doTransaction(SystemFacade.java:394) [esp-core-ejb.jar:]

                        at extensis.esp.core.common.EspSessionBean$AbstractFacadeMethod.invoke(EspSessionBean.java:445) [esp-core.jar:]

                        at extensis.esp.core.ejb.SystemFacade.updateIdentityService(SystemFacade.java:381) [esp-core-ejb.jar:]

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_22]

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_22]

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_22]

                        at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_22]

                        at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:80) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.EjbExceptionTransformingInterceptorFactories$1.processInvocation(EjbExceptionTransformingInterceptorFactories.java:65) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]

                        at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:179) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:179) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:43) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:128) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) [jboss-ejb-client-1.0.5.Final.jar:1.0.5.Final]

                        at $Proxy51.updateIdentityService(Unknown Source)          at extensis.esp.core.service.CoreServiceImpl$UpdateIdentityServiceMethodImpl.doIt(CoreServiceImpl.java:421) [esp-core.jar:]

                        at extensis.esp.core.service.ServiceMethod.invokeServiceMethod(ServiceMethod.java:137) [esp-core.jar:]

                        at extensis.esp.core.service.CoreServiceImpl.updateIdentityService(CoreServiceImpl.java:402) [esp-core.jar:]

                        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [classes.jar:1.6.0_22]

                        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [classes.jar:1.6.0_22]

                        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [classes.jar:1.6.0_22]

                        at java.lang.reflect.Method.invoke(Method.java:597) [classes.jar:1.6.0_22]

                        at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(InstanceResolver.java:246) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:471) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:129) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:160) [jaxws-rt.jar:2.1.7]

                        at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:75) [jaxws-rt.jar:2.1.7]

                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]

                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

                        at extensis.esp.core.servlet.FlexFaultFilter.doFilter(FlexFaultFilter.java:32) [esp-core.jar:]

                        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:397) [jbossweb-7.0.13.Final.jar:]

                        at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]

                        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]

                        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:518) [jbossweb-7.0.13.Final.jar:]

                        at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

                        at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_22]

                        at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

              Caused by: javax.security.auth.login.LoginException: No LoginModules configured for com.sun.security.jgss.accept

                        at javax.security.auth.login.LoginContext.init(LoginContext.java:256) [classes.jar:1.6.0_22]

                        at javax.security.auth.login.LoginContext.<init>(LoginContext.java:403) [classes.jar:1.6.0_22]

                        at extensis.esp.core.identity.auth.GSSCredentialsValidator.verifyServerConfigurationWithSPNCred(GSSCredentialsValidator.java:490) [esp-core.jar:]

                        ... 100 more

              • 4. Re: JBoss AS 7 is still trying to locate login-config.xml
                fabiovc27

                Well, I decided to give up trying to configure our login-module information in the standalone.xml.   Instead I am using the same login-config.xml file I was using in JBoss 4.0.5 and reverted my changes to jboss-web.xml, and standalone.xml.   However, I kept the following system-property in the standalone.xml :

                 

                <system-properties>

                        <property name="java.security.auth.login.config" value="/Applications/Extensis/Universal Type Server/applications/jboss/standalone/configuration/login-config.xml"/>

                </system-properties>

                 

                this is necessary at least to tell jboss where to find the file and everything else seems to work as it used to.   I'm able to kerbrerize my app just like in JBoss 4.0.5. 

                It would have been nice to get it to work in standalone.xml, but I can't continue spending time on this portion of my migration.


                Thanx to those that tried to help!

                 

                -Valentino

                • 5. Re: JBoss AS 7 is still trying to locate login-config.xml
                  dkesavan

                  Hi,

                   

                  I am also facing the same issue with JBoss AS 7. We recently migrated to JBoss AS 7 and everything works fine. Now we are trying to integrate JBoss AS 7 with Spring security.

                  But I am facing issues with that. The server startup gives error and tries to look for login-config.xml.Below is the stack trace:

                  java.io.FileNotFoundException:

                  jboss-as-7.1.1.Final/bin/login-config.xml (No such file or directory)

                          at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_35]

                          at java.io.FileInputStream.<init>(FileInputStream.java:120)

                  [rt.jar:1.6.0_35]

                          at org.jboss.vfs.spi.RootFileSystem.openInputStream(RootFileSystem.java:57)

                  [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]

                          at org.jboss.vfs.protocol.FileURLConnection.getInputStream(FileURLConnection.java:73)

                  [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]

                          at java.net.URL.openStream(URL.java:1010) [rt.jar:1.6.0_35]

                          at org.jboss.security.auth.login.XMLLoginConfigImpl.loadSunConfig(XMLLoginConfigImpl.java:440)

                  [picketbox-4.0.7.Final.jar:4.0.7.Final]

                          at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:408)

                  [picketbox-4.0.7.Final.jar:4.0.7.Final]

                          at org.jboss.security.auth.login.XMLLoginConfigImpl.loadConfig(XMLLoginConfigImpl.java:379)

                  [picketbox-4.0.7.Final.jar:4.0.7.Final]

                          at org.jboss.security.auth.login.XMLLoginConfigImpl.refresh(XMLLoginConfigImpl.java:118)

                  [picketbox-4.0.7.Final.jar:4.0.7.Final]

                          at org.springframework.security.authentication.jaas.JaasAuthenticationProvider.configureJaas(JaasAuthenticationProvider.java:159)

                  [spring-security-core.jar:3.1.2.RELEASE]

                          at org.springframework.security.authentication.jaas.JaasAuthenticationProvider.afterPropertiesSet(JaasAuthenticationProvider.java:132)

                  [spring-security-core.jar:3.1.2.RELEASE]

                          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)

                  [spring-beans.jar:3.1.2.RELEASE]

                          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)

                  [spring-beans.jar:3.1.2.RELEASE]

                          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)

                  [spring-beans.jar:3.1.2.RELEASE]

                          at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)

                  [spring-beans.jar:3.1.2.RELEASE]

                   

                  org.jboss.security.auth.login.XMLLoginConfigImpl tries to locate for login-config.xml or jaas config file. But login-config.xml is not used anymore in JBoss 7 not sure why it is still referring that.

                  As mentioned in the above post when I set system properties for 'java.security.auth.login.config' it went through.

                   

                  But we dont want to give that option. Is there any other way of doing this?

                  Which version of picketbox needs to be used for JBoss AS 7 and does Jboss 7 support spring security 3.1?

                  Please provide your suggestions.

                   

                  Thanks.

                  • 6. Re: JBoss AS 7 is still trying to locate login-config.xml
                    jaikiran

                    It looks like somewhere in your configurations (spring xml I guess), you are using the XMLLogingConfig PicketBox class. Removing it should fix it I guess.

                    • 7. Re: JBoss AS 7 is still trying to locate login-config.xml
                      dkesavan

                      I dont have  XMLLogingConfig PicketBox in spring configuration. I think the  jar picketbox-4.0.7.Final comes with JBoss 7. We have not added it from our application.

                      From the stacktrace I could see, JBoss specific XMLoginConfig is used to find the location of the login config file.

                       

                      • 8. Re: JBoss AS 7 is still trying to locate login-config.xml
                        m.breevoort

                        The problem is third party code triggers javax.security.auth.login.Configuration.getConfiguration().refresh()

                        Ther Configuration implementation for JBoss is org.jboss.security.auth.login.XMLConfigImpl.refresh(). This wil clear all previous config (standalone.xml) :

                          public void refresh()

                          {

                            SecurityManager sm = System.getSecurityManager();

                            if (sm != null)

                              sm.checkPermission(REFRESH_PERM);

                            this.appConfigs.clear();

                            loadConfig();

                          }

                         

                        Fix for spring-security on JBoss7AS / JBoss6EAP is to disable the refresh : https://jira.springsource.org/browse/SEC-1320

                        My blog: http://mbreevoort.blogspot.com/2013/09/jboss-7-as-jboss-6-eap-spring-security.html

                         

                        In WEB-INF/spring-security.xml

                             
                             <authentication-manager alias="authenticationManager">
                                  <authentication-provider ref="jaasAuthenticationProvider" />
                                  ...
                             </authentication-manager>
                        
                             <beans:bean id="jaasAuthenticationProvider" class="org.springframework.security.authentication.jaas.JaasAuthenticationProvider">
                                  <beans:property name="refreshConfigurationOnStartup" value="false"/>
                                  ...
                             </beans:bean>