Instalación y Configuración de CAS

Resource type
Documentación

 Para la instalación y configuración de CAS utilizaremos Apache Maven, para ello debemos tenerlo descomprimido en nuestro equipo y opcionalmente agregar a la variable de entorno PATH la ruta hacia los binarios del mismo. Los pasos a seguir son los siguientes:

1. Detener el servidor de tomcat si se encuentra corriendo.

2. Crear un directorio de trabajo para nuestro proyecto de CAS (De ahora en adelante lo llamaremos $PROYECTO_CAS).

3. En el debemos crear el fichero pom.xml con la siguiente configuración:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.stratebi.cas</groupId>

<artifactId>local-cas</artifactId>

<packaging>war</packaging>

<version>1.0</version>

 

<build>

<plugins>

<plugin>

        <artifactId>maven-war-plugin</artifactId>

   <configuration>

             <warName>cas</warName>

   </configuration>

</plugin>

  </plugins>

</build>

<properties>

<cas.version>3.3.3</cas.version>

</properties>

 

<dependencies>

<dependency>

<groupId>org.springframework.security</groupId>

<artifactId>spring-security-cas-client</artifactId>

<version>2.0.4</version>

<scope>runtime</scope>

<exclusions>

         <exclusion>

                  <groupId>org.springframework</groupId>

                  <artifactId>spring-dao</artifactId>
        </exclusion>

        <exclusion>

                  <groupId>org.springframework</groupId>

                  <artifactId>spring-tx</artifactId>
        </exclusion>

        <exclusion>
                    <groupId>org.springframework</groupId>

                    <artifactId>spring-jdbc</artifactId>
        </exclusion>

        <exclusion>
                    <groupId>org.springframework</groupId>

                    <artifactId>spring-beans</artifactId>
        </exclusion>

        <exclusion>

                 <groupId>org.springframework</groupId>

                 <artifactId>spring-context</artifactId>

        </exclusion>

        <exclusion>

                <groupId>org.springframework</groupId>  

               <artifactId>spring-support</artifactId>
         </exclusion>

</exclusions>

</dependency>

 

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-aop</artifactId>

<version>2.5.6</version>

<dependency>

<groupId>quartz</groupId>

<artifactId>quartz</artifactId>

<version>1.5.2</version>

<type>jar</type>

</dependency>

 

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>jstl</artifactId>

<version>1.1.2</version>

<type>jar</type>

</dependency>

 

<dependency>

<groupId>taglibs</groupId>

<artifactId>standard</artifactId>

<version>1.1.2</version>

<type>jar</type>

</dependency>

 

<dependency>

<groupId>ognl</groupId>

<artifactId>ognl</artifactId>

<version>2.6.9</version>

<scope>runtime</scope>

</dependency>

 

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.15</version>

<type>jar</type>

<scope>runtime</scope>

<exclusions>

<exclusion>

         <groupId>javax.mail</groupId>

         <artifactId>mail</artifactId>
</exclusion>

<exclusion>

        <groupId>javax.jms</groupId>

        <artifactId>jms</artifactId>

</exclusion>

<exclusion>

        <groupId>com.sun.jdmk</groupId>

        <artifactId>jmxtools</artifactId>
</exclusion>

<exclusion>

        <groupId>com.sun.jmx</groupId>

        <artifactId>jmxri</artifactId>

</exclusion>

</exclusions>

</dependency>

<dependency>

            <groupId>org.jasig.cas</groupId>

            <artifactId>cas-server-webapp</artifactId>

            <version>${cas.version}</version>

            <type>war</type>

            <scope>runtime</scope>

</dependency>

 

<dependency>
           <groupId>org.jasig.cas</groupId>

           <artifactId>cas-server-support-jdbc</artifactId>

           <version>${cas.version}</version>

           <type>jar</type>

           <scope>runtime</scope>

</dependency>

<dependency>

           <groupId>commons-dbcp</groupId>

           <artifactId>commons-dbcp</artifactId>

          <version>1.2.1</version>

          <scope>runtime</scope>

</dependency>

<dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <version>5.1.12</version>

</dependency>

            </dependencies>

</project>

 

4. Crear en $PROYECTO_CAS el fichero deployerConfigContext.xml dentro de la siguiente estructura de directorios:

$PROYECTO_CAS   src  main webapp  WEB-INF

El fichero debe tener la siguiente configuración:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="authenticationManager" class="org.jasig.cas.authentication.AuthenticationManagerImpl">

<property name="credentialsToPrincipalResolvers">

<list>

<bean

class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" />

<bean

class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" />

</list>

</property>

<property name="authenticationHandlers">

<list>

<bean

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

            p:httpClient-ref="httpClient" />
<bean

class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler">

                          <property

name="tableUsers"><value>user_</value></property>

                         <property

name="fieldUser"><value>screenname</value></property>

                          <property

name="fieldPassword"><value>password_</value></property>

                          <property name="dataSource" ref="dataSource"/>

</bean>

</list>

</property>

</bean>

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName">

<value>com.mysql.jdbc.Driver</value>

</property>

<property name="url">

<value>jdbc:mysql://localhost:3306/lportal</value>

</property>

<property name="username">

<value>lportal</value>

</property>

<property name="password">

<value>lportal</value>

</property>

</bean>

<bean id="userDetailsService" class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">

<property name="userMap">

<value> </value>

</property>

</bean>

<bean id="attributeRepository"

class="org.jasig.services.persondir.support.StubPersonAttributeDao">

<property name="backingMap">

<map>

<entry key="uid" value="uid" />

<entry key="eduPersonAffiliation" value="eduPersonAffiliation" />

<entry key="groupMembership" value="groupMembership" />

</map>

</property>

</bean>

<bean

id="serviceRegistryDao"

class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />

</beans>

5. Luego, desde una línea de comandos (Command Prompt) ejecturar la siguiente sentencia en el directorio $PROYECTO_CAS 

mvn clean package

6. Esto creará dentro de $POYECTO_CAS un directorio “target” y dentro de el conseguiremos el archivo cas.war que vamos a utilizar. Debemos colocarlo en $DIRECTORIO_PACK\tomcat-6.0.18\webapps y levantar el servidor de Tomcat.

7. Probar que esté funcionando CAS. Ir a https://localhost:8443/cas e iniciar sesión con el usuario y password de liferay.

 

Cas