Announcement Announcement Module
Collapse
No announcement yet.
RCP client; AuthorizationCredentialsNotFoundException Page Title Module
Move Remove Collapse
This topic is closed
X
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • RCP client; AuthorizationCredentialsNotFoundException

    I have an RCP client and a Spring-based server. Spring v2.0.2 and Acegi v1.0.3. I use HttpInvoker to communicate to the server-side.

    RCP client succesfully authorizes via Acegi and receives back an acegi.Authentication object with properly populated grantedAuthorities.

    As soon as the RCP client tries to call a method on the server I get the AuthorizationCredentialsNotFoundException. If I comment out the line:
    "org.altruix.ACW.common.services.IDatasourceManage r.*=ROLE_1,ROLE_AUTHENTICATED"
    In the server-side securityContext.xml that secures the method I am calling then everything works properly (but the authorization is disabled, of course).

    In looking at the http (with tcp monitor) of the outgoing request, it does not contain the Acegi Authentication object, as it should. In tracing code I know that the org.acegisecurity.context.httpinvoker.Authenticati onSimpleHttpInvokerRequestExecutor is getting executed when I call a server-side method. So, at some level the RCP client is trying to put the Authentication object into the http request - at that point the Authentication object is the valid one from the SecurityContextHolder. I don't know why it isn't working when it gets to the server-side.

    Attached are the relavent parts of both the RCP client and server-side files.

    Any help will be greatly appreciated.

    Ferris.

  • #2
    Error message:
    Code:
    06:50:48.046 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'authenticationManager'
    06:50:48.046 [main] DEBUG o.a.c.client.ui.comm.Session - user:'testUser1', account:'testAccount', password:'good'
    06:50:48.062 [main] DEBUG o.a.providers.ProviderManager - Authentication attempt using org.acegisecurity.providers.rcp.RemoteAuthenticationProvider
    06:50:48.078 [main] DEBUG o.s.r.h.SimpleHttpInvokerRequestExecutor - Sending HTTP invoker request for service at [http://localhost:8080/ACW/remoting/RemoteAuthenticationManager], with size 384
    06:50:48.203 [main] DEBUG o.s.c.s.ClassPathXmlApplicationContext - Publishing event in context [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=13158358]: org.acegisecurity.event.authentication.AuthenticationSuccessEvent[source=[email protected]105889c: Username: testUser1,testAccount; Password: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_AUTHENTICATED, ROLE_1, ROLE_2, ROLE_3, ROLE_4]
    06:50:48.203 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'DatasourceManager'
    06:50:48.203 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Bean with name 'DatasourceManager' is a factory bean
    06:50:48.203 [main] DEBUG o.a.c.h.AuthenticationSimpleHttpInvokerRequestExecutor - Sending HTTP invoker request for service at [http://localhost:8080/ACW/secure/remoting/datasourceManager], with size 322
    06:50:48.218 [main] DEBUG o.a.c.h.AuthenticationSimpleHttpInvokerRequestExecutor - HttpInvocation now presenting via BASIC authentication SecurityContextHolder-derived: [email protected]105889c: Username: testUser1,testAccount; Password: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_AUTHENTICATED, ROLE_1, ROLE_2, ROLE_3, ROLE_4
    06:50:48.375 [main] ERROR o.a.c.client.ui.wizard.LoginWizard - An Authentication object was not found in the SecurityContext
    RCP client login code:
    Code:
    public void connectAndLogin(String userId, String password) throws LoginException {
    
        AuthenticationManager authenticationManager = (AuthenticationManager) Application
                .getSpringApplicationContext().getBean("authenticationManager");
    
    
        UsernamePasswordAuthenticationToken request = new UsernamePasswordAuthenticationToken(
                userId, password);
        try {
            Authentication userDetail = authenticationManager
                    .authenticate(request);
            SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_GLOBAL);
            SecurityContext securityContext = new SecurityContextImpl();
            securityContext.setAuthentication(userDetail);
            SecurityContextHolder.setContext(securityContext);
        } catch (AuthenticationException an) {
            an.printStackTrace();
        }
        
        IDatasourceManager datasourceManager = (IDatasourceManager) Application
            .getSpringApplicationContext().getBean(
            "DatasourceManager");
    
        databaseServiceKey = datasourceManager.getDefaultDatabaseServiceKey();
    }
    RCP client applicationContext.xml:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <bean id="Session"
            class="org.altruix.churchware.client.ui.comm.Session"
            scope="singleton">
            <property name="datasourceManager">
                <ref local="DatasourceManager" />
            </property>
        </bean>
        
        <bean id="DatasourceManager"
            class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
            <description>
                HTTP Invoker proxy for the datasource manager
            </description>
            <property name="serviceUrl"
                value="http://localhost:8080/ACW/secure/remoting/datasourceManager" />
            <property name="serviceInterface">
                <value>
                    org.altruix.ACW.common.services.IDatasourceManager
                </value>
            </property>
            <property name="httpInvokerRequestExecutor">
                 <ref local="authenticationRequestExecutor"/>
            </property>
        </bean>    
    
        <bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
            <property name="providers">
                <list>
                    <ref bean="remoteAuthenticationProvider"/>
                </list>
            </property>
        </bean>
    
        <bean id="remoteAuthenticationProvider" class="org.acegisecurity.providers.rcp.RemoteAuthenticationProvider">
            <property name="remoteAuthenticationManager">
                <ref bean="remoteAuthenticationManager"/>
            </property>
        </bean>
    
        <bean id="remoteAuthenticationManager" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
            <property name="serviceInterface">
                <value>org.acegisecurity.providers.rcp.RemoteAuthenticationManager</value>
            </property>
            <property name="serviceUrl">
                <value>http://localhost:8080/ACW/remoting/RemoteAuthenticationManager</value>
            </property>
        </bean>
    
        <bean id="authenticationRequestExecutor" class="org.acegisecurity.context.httpinvoker.AuthenticationSimpleHttpInvokerRequestExecutor"></bean>
        
    
    </beans>

    Comment


    • #3
      Files for easier viewing

      Server side applicationContext.xml:
      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
      
          
          <bean id="ACWAcegiUserDetailsService"
                  class="org.altruix.ACW.security.ACWAcegiUserDetailsService">
              <property name="roleDao">
                  <ref local="SecurityRoleDao"/>
              </property>
          </bean>    
          
          <bean id="ACWAcegiAuthenticationProvider"
                  class="org.altruix.ACW.security.ACWAcegiAuthenticationProvider">        
              <property name="userDao">
                  <ref local="SecurityUserDao"/>
              </property>
              <property name="userDetailsService">
                  <ref local="ACWAcegiUserDetailsService"/>
              </property>
          </bean>    
          
          <bean id="DatasourceManager"
              class="org.altruix.ACW.datasource.service.DatasourceManager"
              scope="singleton" init-method="init">
      
          </bean>
          
             <bean id="DatasourceManagerService"
              class="org.springframework.aop.framework.ProxyFactoryBean">
              <property name="proxyInterfaces">
                  <value>org.altruix.ACW.common.services.IDatasourceManager</value>
              </property>
              <property name="targetName">
                  <idref bean="DatasourceManager" />
              </property>
              <property name="interceptorNames">
                  <list>
                      <idref bean="ACWAcegiAuthorization" />
                  </list>
              </property>
          </bean>            
          
          
          <!-- ======================== FILTER CHAIN ======================= -->
      
          <bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
            <property name="filterInvocationDefinitionSource">
               <value>
                  CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                  PATTERN_TYPE_APACHE_ANT
                  /**=HttpSessionContextIntegrationFilter,AuthenticationProcessingFilter,BasicProcessingFilter,SecurityContextHolderAwareRequestFilter,RememberMeProcessingFilter,AnonymousProcessingFilter,ExceptionTranslationFilter,FilterInvocationInterceptor
               </value>
            </property>
          </bean>
          
          <!-- ======================== FILTER CHAIN ======================= -->
      
          <bean id="AuthenticationManager" class="org.acegisecurity.providers.ProviderManager">
            <property name="providers">
               <list>
                  <ref local="ACWAcegiAuthenticationProvider"/>
                  <ref local="AnonymousAuthenticationProvider"/>
                   <ref local="RememberMeAuthenticationProvider"/>
               </list>
            </property>
         </bean>
        
         <bean id="DaoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
            <property name="userDetailsService"><ref local="ACWAcegiUserDetailsService"/></property>
         </bean>
        
          <bean id="AnonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
            <property name="key"><value>foobar</value></property>
            <property name="userAttribute"><value>anonymousUser,ROLE_ANONYMOUS</value></property>
         </bean>
          
          <bean id="AnonymousAuthenticationProvider" class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
            <property name="key"><value>foobar</value></property>
         </bean>
        
         <bean id="RememberMeProcessingFilter" class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
            <property name="authenticationManager"><ref local="AuthenticationManager"/></property>
            <property name="rememberMeServices"><ref local="RememberMeServices"/></property>
         </bean>
      
         <bean id="RememberMeServices" class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
            <property name="userDetailsService"><ref local="ACWAcegiUserDetailsService"/></property>
            <property name="key"><value>springRocks</value></property>
         </bean>
        
         <bean id="RememberMeAuthenticationProvider" class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
            <property name="key"><value>springRocks</value></property>
         </bean>
        
         <bean id="HttpSessionContextIntegrationFilter" class="org.acegisecurity.context.HttpSessionContextIntegrationFilter">
                  <property name="context">
                        <value>
                              org.acegisecurity.context.SecurityContextImpl
                        </value>
                  </property>
         </bean>
        
         <bean id="BasicProcessingFilter" class="org.acegisecurity.ui.basicauth.BasicProcessingFilter">
            <property name="authenticationManager"><ref local="AuthenticationManager"/></property>
            <property name="authenticationEntryPoint"><ref local="BasicProcessingFilterEntryPoint"/></property>
         </bean>
      
         <bean id="BasicProcessingFilterEntryPoint" class="org.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
            <property name="realmName"><value>ACW Realm</value></property>
         </bean>
        
          <bean id="remoteAuthenticationManager" class="org.acegisecurity.providers.rcp.RemoteAuthenticationManagerImpl">
              <property name="authenticationManager">
                  <ref bean="AuthenticationManager"/>
              </property>
          </bean>  
        
         <bean id="AuthenticationProcessingFilter" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
            <property name="authenticationManager"><ref bean="AuthenticationManager"/></property>
            <property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
            <property name="defaultTargetUrl"><value>/</value></property>
            <property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
            <property name="rememberMeServices"><ref local="RememberMeServices"/></property>
         </bean>
      
         <bean id="AuthenticationProcessingFilterEntryPoint" class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
            <property name="loginFormUrl"><value>/acegilogin.jsp</value></property>
            <property name="forceHttps"><value>false</value></property>
         </bean>
        
         <bean id="SecurityContextHolderAwareRequestFilter" class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>
                
          <!-- authorization part -->    
         <bean id="ACWAcegiAuthorization" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
            <property name="validateConfigAttributes"><value>true</value></property>
            <property name="authenticationManager"><ref bean="AuthenticationManager"/></property>
            <property name="accessDecisionManager"><ref local="AccessDecisionManager"/></property>
            <property name="objectDefinitionSource">
               <value>
                  org.altruix.ACW.common.services.IDatasourceManager.*=ROLE_1,ROLE_AUTHENTICATED
               </value>
            </property>
         </bean>
        
         <!-- An access decision manager used by the business objects -->
         <bean id="AccessDecisionManager" class="org.acegisecurity.vote.AffirmativeBased">
            <property name="allowIfAllAbstainDecisions"><value>false</value></property>
            <property name="decisionVoters">
               <list>
                  <ref local="roleVoter"/>
               </list>
            </property>
         </bean>
        
         <!-- An access decision voter that reads ROLE_* configuration settings -->
         <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter"/>
        
          
         <bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
            <property name="authenticationEntryPoint"><ref local="BasicProcessingFilterEntryPoint"/></property>
         </bean>
        
          <bean id="FilterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
                  <property name="authenticationManager">
                      <ref local="AuthenticationManager"/>
                  </property>
                  <property name="accessDecisionManager">
                      <ref local="AccessDecisionManager"/>
                  </property>
                  <property name="objectDefinitionSource">
                      <value>
                       CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
                       PATTERN_TYPE_APACHE_ANT
                      /secure/**=ROLE_USER
                      </value>
                  </property>
              </bean>
      </beans>

      Comment


      • #4
        Remainder of files

        Server side web.xml:
        Code:
        <?xml version="1.0"?>
        <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
        <web-app>
        
            <display-name>Data Access</display-name>
        
            <filter>
                <filter-name>Acegi_HTTP_BASIC_Authorization_Filter</filter-name>
                <filter-class>
                    org.acegisecurity.util.FilterToBeanProxy
                </filter-class>
                <init-param>
                    <param-name>targetClass</param-name>
                    <param-value>
                        org.acegisecurity.ui.basicauth.BasicProcessingFilter
                    </param-value>
                </init-param>
            </filter>
        
            <filter>
                <filter-name>
                    Acegi_Security_System_for_Spring_HttpSession_Integration_Filter
                </filter-name>
                <filter-class>
                    org.acegisecurity.util.FilterToBeanProxy
                </filter-class>
                <init-param>
                    <param-name>targetClass</param-name>
                    <param-value>
                        org.acegisecurity.context.HttpSessionContextIntegrationFilter
                    </param-value>
                </init-param>
            </filter>
        
            <filter>
                <filter-name>Acegi_http_request_security_filter</filter-name>
                <filter-class>
                    org.acegisecurity.util.FilterToBeanProxy
                </filter-class>
                <init-param>
                    <param-name>targetClass</param-name>
                    <param-value>
                        org.acegisecurity.ui.ExceptionTranslationFilter
                    </param-value>
                </init-param>
            </filter>
            
            <filter-mapping>
                <filter-name>Acegi_HTTP_BASIC_Authorization_Filter</filter-name>
                <url-pattern>/secure/remoting/*</url-pattern>
            </filter-mapping>
        
            <filter-mapping>
                <filter-name>
                    Acegi_Security_System_for_Spring_HttpSession_Integration_Filter
                </filter-name>
                <url-pattern>/secure/remoting/*</url-pattern>
            </filter-mapping>
        
            <filter-mapping>
                <filter-name>Acegi_http_request_security_filter</filter-name>
                <url-pattern>/secure/remoting/*</url-pattern>
            </filter-mapping>
        
        
            <servlet>
                <servlet-name>remoting</servlet-name>
                <servlet-class>
                    org.springframework.web.servlet.DispatcherServlet
                </servlet-class>
                <load-on-startup>1</load-on-startup>
            </servlet>
        
        
            <servlet>
                <servlet-name>secure_remoting</servlet-name>
                <servlet-class>
                    org.springframework.web.servlet.DispatcherServlet
                </servlet-class>
                <load-on-startup>20</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>secure_remoting</servlet-name>
                <url-pattern>/secure/remoting/*</url-pattern>
            </servlet-mapping>
            
            <servlet-mapping>
                <servlet-name>remoting</servlet-name>
                <url-pattern>/remoting/*</url-pattern>
            </servlet-mapping>
        </web-app>
        secure_remoting-servlet.xml:
        Code:
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        
        
            <bean id="DatabaseInvokerController"
                class="org.altruix.ACW.web.DatabaseInvokerController">
                <property name="httpInvokerService">
                    <ref bean="DatasourceManager" />
                </property>
            </bean>
        
            <bean id="DatasourceManagerInvoker"
                class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"
                scope="singleton">
                <property name="service">
                    <ref bean="DatasourceManagerService" />
                </property>
                <property name="serviceInterface">
                    <value>
                        org.altruix.ACW.common.services.IDatasourceManager
                    </value>
                </property>
            </bean>
        
            <bean id="UrlMapping"
                class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
                <property name="mappings">
                    <props>
                        <prop key="/database">DatabaseInvokerController</prop>
                        <prop key="/datasourceManager">
                            DatasourceManagerInvoker
                        </prop>
                    </props>
                </property>
            </bean>
        
        </beans>
        remoting-servlet.xml:
        Code:
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        
        
            <bean name="/RemoteAuthenticationManager" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
                <property name="service">
                    <ref bean="remoteAuthenticationManager"/>
                </property>
                <property name="serviceInterface">
                    <value>org.acegisecurity.providers.rcp.RemoteAuthenticationManager</value>
                </property>
            </bean>
        
        </beans>

        Comment


        • #5
          I'm working with Ferris on this issue, and on thing I noticed is that the UsernamePasswordAuthenticationToken is never updated to authenticated = true. Is that the correct behavior?

          Comment


          • #6
            Isn't the Authentication returned set to authenticated=true?
            Code:
            Authentication userDetail = authenticationManager.authenticate(request);

            Comment


            • #7
              Originally posted by karldmoore View Post
              Isn't the Authentication returned set to authenticated=true?
              Code:
              Authentication userDetail = authenticationManager.authenticate(request);
              Yes, it is set to true.

              Comment


              • #8
                Originally posted by mecode View Post
                Yes, it is set to true.
                I think that should answer your original question. The original credentials you pass in are used the authenticate the user. The ones returned are the authenticated credentials.

                Comment


                • #9
                  Question answered

                  The Authentication object that the server-side returns to the RCP client does have the authenticated=true.

                  In addition, futher tracing makes it appear that the Authentication object IS getting passed with the method call to the server-side. It appears the server-side doesn't recognize that it is there. Is this a matter of the server-side context or something being wrong?

                  Thanks,

                  Ferris.

                  Comment


                  • #10
                    So you're saying that subsequent requests to the server don't work as the user isn't authenticated?

                    Comment


                    • #11
                      Actually, I believe it is the authorization part that is failing, not authentication.
                      Last edited by mecode; Mar 13th, 2007, 09:56 AM.

                      Comment


                      • #12
                        Authentication object not getting into SecurityContextHolder

                        On the server-side I "disabled" authorization by commenting out all method level role entries. I then added an AOP logging to all methods and in that AOP logging I do a "SecurityContextHolder.getContext()" ... the SecurityContext is null.

                        So, the RCP client appears to be putting the Authentication object into the HTTP message but the server-side does not appear to be putting it into the SecurityContextHolder (or at least not the SecurityContextHolder that the AOP logging class has access to).

                        I don't know how exactly the Authentication object included with the HTTP from the RCP Client is supposed to be handled on the server-side but I thought it was supposed to be put into the thread-local SecurityContrextHolder and accessible in the code.

                        Thanks,

                        Ferris.

                        Comment


                        • #13
                          I'm not familiar with the Spring RCP project, but this is what I would do:

                          1. Get the source for whatever RCP stuff you are using.
                          2. Add it to your IDE.
                          3. Run your server in debug mode.
                          4. Put a breakpoint at some point in the server side where you know it will be hit.
                          5. Look back up the stack trace to the appropriate RCP class where the invocation begins on the server side.
                          6. Browse to the source file and put a breakpoint there.
                          7. Run the client again.
                          8. Debug the behaviour from there.

                          Comment


                          • #14
                            Originally posted by Luke View Post
                            I'm not familiar with the Spring RCP project, but this is what I would do:

                            1. Get the source for whatever RCP stuff you are using.
                            2. Add it to your IDE.
                            3. Run your server in debug mode.
                            4. Put a breakpoint at some point in the server side where you know it will be hit.
                            5. Look back up the stack trace to the appropriate RCP class where the invocation begins on the server side.
                            6. Browse to the source file and put a breakpoint there.
                            7. Run the client again.
                            8. Debug the behaviour from there.
                            We aren't using Spring RCP. It's an Eclipse RCP app.

                            Maybe the following log entries on the client side will spur some thoughts. Notice that we are hitting two different URLs:

                            13:05:04.212 [ModalContext] DEBUG o.a.providers.ProviderManager - Authentication attempt using org.acegisecurity.providers.rcp.RemoteAuthenticati onProvider
                            13:05:04.232 [ModalContext] DEBUG o.s.r.h.SimpleHttpInvokerRequestExecutor - Sending HTTP invoker request for service at [http://localhost:4949/-bpass/nonsecu...cationManager], with size 374
                            13:05:04.583 [ModalContext] DEBUG o.s.c.s.ClassPathXmlApplicationContext - Publishing event in context [org.springframework.context.support.ClassPathXmlAp plicationContext;hashCode=26578114]: org.acegisecurity.event.authentication.Authenticat ionSuccessEvent[source=org.acegisecurity.providers.UsernamePasswor dAuthenticationToken@709b0fc7: Username: nbdm52r; Password: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_bpass_maint.Roles.ESM.asm, ROLE_ENTERPRISE_tmrdomain_access, ROLE_epclass_access.Roles.ESM.asm, ROLE_epclass_class_def_maint.Roles.ESM.asm, ROLE_epclass_classification_maint.Roles.ESM.asm, ROLE_epclass_user_class_maint.Roles.ESM.asm, ROLE_epclass_ep_cdi_uat.Roles.EPClassification.asm , ROLE_epclass_maint.Roles.ESM.asm, ROLE_epclass_maint_cdmaint.Roles.EPClassification. asm, ROLE_eptap_basic.Roles.ESM.asm, ROLE_eptap_troubleshoot.Roles.ESM.asm, ROLE_eptap_ep_delete.Roles.ESM.asm, ROLE_eptap_sysadmin.Roles.ESM.asm, ROLE_eswd_access.Roles.ESM.asm, ROLE_jboss_admin.Roles.ESM.asm, ROLE_mobile_client_options.Roles.ESM.asm, ROLE_pkgauto_access.Roles.ESM.asm, ROLE_rds_access.Roles.ESM.asm, ROLE_rds_file_input_access.Roles.ESM.asm, ROLE_self_svc_main_access.Roles.ESM.asm, ROLE_webreports_access.Roles.ESM.asm, ROLE_INTERNATIONAL_tmrdomain_access, ROLE_PACKAGER_tmrdomain_access, ROLE_SERVER_tmrdomain_access, ROLE_profile_group_access.Roles.DBK.asm, ROLE_profile_group_access.Roles.IDB.asm, ROLE_ATM_tmrdomain_access, ROLE_admin_access.Roles.ESM.asm, ROLE_sig_maint_access.Roles.ESM.asm, ROLE_endpoint_access.Roles.DCP.asm, ROLE_package_access.Roles.DCP.asm, ROLE_profile_group_access.Roles.CDI.asm, ROLE_profile_group_access.Roles.CRD.asm, ROLE_cretssales_profile_group_access.Roles.CRE.asm , ROLE_profile_group_access.Roles.CRE.asm, ROLE_cretssite_profile_group_access.Roles.CRE.asm, ROLE_profile_group_access.Roles.DCP.asm, ROLE_profile_group_access.Roles.ESM.asm, ROLE_profile_group_access.Roles.INTERNATIONAL.asm, ROLE_profile_group_access.Roles.MBNA.asm, ROLE_profile_group_access.Roles.WinTel_Servers.asm , ROLE_profile_group_access.Roles.WORKSTATION.asm, ROLE_bpass_access.Roles.ESM.asm]
                            13:05:04.583 [ModalContext] DEBUG o.s.r.h.SimpleHttpInvokerRequestExecutor - Sending HTTP invoker request for service at [http://localhost:4949/-bpass/secure/bpass_controller], with size 506
                            java.lang.reflect.InvocationTargetException
                            at com.company.esm.bpa.client.bpass.wizards.LoginWiza rd$1.run(LoginWizard.java:95)
                            at org.eclipse.jface.operation.ModalContext$ModalCont extThread.run(ModalContext.java:113)
                            Caused by: org.acegisecurity.AuthenticationCredentialsNotFoun dException: An Authentication object was not found in the SecurityContext
                            Last edited by mecode; Mar 13th, 2007, 02:05 PM.

                            Comment


                            • #15
                              Attached are some relevant log entries from the server.

                              Comment

                              Working...
                              X