4 Replies Latest reply on Oct 17, 2011 12:25 PM by jonmid

    JbossEpp - Single Sign On - CAS

    jonmid

      Hi everybody,

       

      I'm doing the configuration of the JBossEpp- SSO-CAS, guiding the manual:

       

      http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/5.1/html/Reference_Guide/sect-Reference_Guide-SSO_Single_Sign_On-CAS_Central_Authentication_Service.html

       

      I have successfully managed to do all the steps and make the user authentication isdelegated to the CAS and allow Logeo correctly, all this when I'm on the same PC, changing the respective ports to avoid conflicts and everything else he says in the manual.

       

      Now my problem is this: I placed the SOO-CAS and Apache on a machine andJBossEpp another, changing the paths to point to your new address and then lift theJBossEpp on a PC other than the Apache in the other PC, entered the portal pageJBooEpp and I click Sign me up, I was routed to the CAS website for performing authentication is there, until then everything is fine, but then when I enter my data (user: root and pass: GTN ) I get the following message "Unable to determine that the supplied credentials are authentic."

       

      I've checked the configuration many times and I can not see what's missing, I have all settings correctly but when I put them in different PC fails authentication.

       

      I hope I can help.

       

      Thank you.

       

      Greetings.


       

      -----------------------------------------------------------------------------------------------------------------------------------------

      Hola a todos,

       

       

      Estoy haciendo la configuracion del JBossEpp con el SSO-CAS, guiandome del manual:

      http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/5.1/html/Reference_Guide/sect-Reference_Guide-SSO_Single_Sign_On-CAS_Central_Authentication_Service.html

       

       

      He conseguido hacer satisfactoriamente todos los pasos y hacer que la autentificacion del usuario sea delegado al CAS y permita el logeo correctamente, todo esto cuando estoy en la misma PC, cambiando los puertos respectivos para evitar conflictos y todo lo demas que dice en el manual.

       

       

      Ahora mi problema es el siguiente: He colocado el SOO-CAS y el Apache en una maquina y el JBossEpp en otra, cambiando las rutas para que apunten a su nueva direccion y luego levanto el JBossEpp en una PC y aparte el Apache en la otra PC, entro a la pagina del portal JBooEpp y hago clic en Registrame, me direcciona a la pagina del CAS para que ahi se efectue la autenticacion, hasta ahi todo esta bien, pero luego cuando ingreso mis datos(user:root y pass: gtn) me aparece el siguiente mensaje "No se puede determinar que las credenciales proporcionadas sean auténticas."

       

       

      He revisado la configuración muchas veces y no logro ver que es lo que esta faltando, he hecho correctamente todas las configuraciones pero cuando los pongo en PC distintas falla la autentificacion.

       

       

      Espero que me puedan ayudar.

       

       

      Gracias.

       

       

      Saludos.

        • 1. Re: JbossEpp - Single Sign On - CAS
          sorenschmidt

          Hola Jonathan,

          mi idea:

          el servidor CAS recibe bien el forward, pero no consigue verificar las credenciales. Hay un problema de comunication desde servidor CAS en direccion del servidor de autentificacion. En tu caso, siguiendo las consignas es el "org.gatein.sso.cas.plugin.AuthenticationPlugin" y su configuracion en el fichero "CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml" En vez de "localhost" tienes que proponer la direccion de tu servidor gatein.

           

          Has verificado todas la puertas de comunication? No hay firewalls que impiden la comunicacion?

           

          Saludos

          Soren Schmidt

          • 2. Re: JbossEpp - Single Sign On - CAS
            jonmid

            Hi Soren,

             

            Thanks for your comment, if I put the address of my server instead of localhost gateinand vice versa for gatein side I've also done the same in the web.xml(gatein.ear/02portal.war/web-inf/WEB -XML) by placing the address where the CAS with the Apache as I mentioned are in other PC, rather, the CAS-JbossEpp and APACHEare in two virtual machines.

             

            The authentication works when you are in the same pc, simply changing ports so there is no conflict, but the Pc `s different CAS Epp calls but can not authenticate the data andget this message" The credentials you cannot Provided Be Determined to be authentic "

             

            Thanks for the suggestion.

             

            Greetings.

             

            -----------------------------------------------------------------------------------------------------------------------------------------------

             

            Hola Soren,

             

            Gracias por tu comentario, si he puesto la direccion de mi servidor gatein en vez del localhost, y viceversa para el lado del gatein tambien he hecho lo mismo en el web.xml (gatein.ear/02portal.war/web-inf/WEB-XML) colocando la direccion donde se encuentra el CAS con el Apache que como mencione se encuentran en otra PC, mejor dicho, el JbossEpp y el CAS-APACHE se encuentran en dos maquinas virtuales.

             

            La autentificacion funciona cuando se encuentran en una misma pc, cambiandole simplemente los puertos para que no haya conflictos, pero en Pc`s diferentes el Epp llama al CAS pero no logra autentificar los datos y sale este mensaje "The credentials you provided cannot be determined to be authentic" 

             

            Gracias por la sugerencia.

             

            Saludos.

             

            Pd: Si he verificaco y no hay firewall o puertos que impidan la comunicacion.

            • 3. Re: JbossEpp - Single Sign On - CAS
              sorenschmidt

              Hola Jonathan,

               

              si todavia tienes problemas poderias enviar tus configuraciones por aqui, para que los otros puedas echar un vistazo.

               

              Saludos

              Soren

              • 4. Re: JbossEpp - Single Sign On - CAS
                jonmid

                Hola Soren:

                 

                Guiandome del manual: http://docs.redhat.com/docs/en-US/JBoss_Enterprise_Portal_Platform/5.1/html/Reference_Guide/sect-Reference_Guide-SSO_Single_Sign_On-CAS_Central_Authentication_Service.html

                 

                Aqui mando las dos configuraciones mas revelantes en el CAS y en el JBOSS, quiza asi se pueda ver una vision mas amplia de lo quiero decir.

                 

                Esta configuracion se encuentra en el punto Procedure 14.10. Modifying CAS server punto 2:

                 

                Esta es la configuracion del deployerConfigContext.xml en el CAS : CAS_DIR/cas-server-webapp/src/main/webapp/WEB-INF/deployerConfigContext.xml

                 

                <!--

                           | Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate,

                           | AuthenticationHandlers actually authenticate credentials.  Here we declare the AuthenticationHandlers that

                           | authenticate the Principals that the CredentialsToPrincipalResolvers identified.  CAS will try these handlers in turn

                           | until it finds one that both supports the Credentials presented and succeeds in authenticating.

                           +-->

                           <property name="authenticationHandlers">

                             <list>

                               <!--

                                | This is the authentication handler that authenticates services by means of callback via SSL, thereby validating

                                | a server side SSL certificate.

                                +-->

                               <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"

                                       p:httpClient-ref="httpClient" />

                               <!--

                                | This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS

                                | into production.  The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials

                                | where the username equals the password.  You will need to replace this with an AuthenticationHandler that implements your

                                | local authentication strategy.  You might accomplish this by coding a new such handler and declaring

                                | edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.

                                +-->

                               <!-- Integrates with the Gatein Authentication Service to perform authentication -->

                               <!--

                                | Note: Modify the Plugin Configuration based on the actual information of a GateIn instance.

                                | The instance can be anywhere on the internet...Not necessarily on localhost where CAS is running

                                +-->

                               <bean class="org.gatein.sso.cas.plugin.AuthenticationPlugin">

                                    <property name="gateInHost"><value>192.168.2.13</value></property> // Aqui cambie "localhost" por la direccion del portal

                                    <property name="gateInPort"><value>8080</value></property>

                                    <property name="gateInContext"><value>portal</value></property>

                               </bean>

                             </list>

                           </property>

                 

                Esta configuracion se encuentra en el punto Procedure 14.12. Redirect to CAS punto 4 y 5:

                 

                Y esta es la configuracion del web.xml en el Jboss en la ruta: gatein.ear/02portal.war/WEB-INF/web.xml

                 

                  <!-- ================================================================== -->

                  <!--   RESOURCE FILTER TO CACHE MERGED JAVASCRIPT AND CSS               -->

                  <!-- ================================================================== -->

                          <filter>

                          <filter-name>LoginRedirectFilter</filter-name>

                                    <filter-class>org.gatein.sso.agent.filter.LoginRedirectFilter</filter-class>

                                    <init-param>                                

                                    <!-- This should point to your SSO authentication server -->

                                      <param-name>LOGIN_URL</param-name>  

                                      <!-- If casRenewTicket param value of InitiateLoginServlet is:  not specified or false -->

                                      <param-value>http://192.168.2.10:8080/cas/login?service=http://192.168.2.13:8080/portal/private/classic</param-value>//Aqui cambie "localhost por la direccion donde se encuentra el CAS"

                                      <!-- If casRenewTicket param value of InitiateLoginServlet is : true -->

                                      <!-- <param-value>http://192.168.2.10:8080/cas/login?service=http://192.168.2.13:8080/portal/private/classic&renew=true</param-value> -->

                                    </init-param>

                          </filter>

                 

                 

                 

                          <servlet-name>InitiateLoginServlet</servlet-name>

                            <servlet-class>org.gatein.sso.agent.GenericSSOAgent</servlet-class>

                            <init-param>

                              <param-name>ssoServerUrl</param-name>

                              <param-value>http://192.168.2.10:8080/cas</param-value> //Aqui cambie "localhost por la direccion donde se encuentra el CAS"

                            </init-param>   

                            <init-param>

                              <param-name>casRenewTicket</param-name>

                              <param-value>false</param-value>

                            </init-param>

                          </servlet>

                 

                 

                 

                Saludos.