Outubro 5, 2009
O CAS utiliza o conceito de temas para definição do layout de suas telas. Por padrão é aplicado um tema chamado default.
Para modificar o CAS com os seus temas, é necessário o seguinte:
Modificar o arquivo cas.properties, alterando as propriedades cas.themeResolver.defaultThemeName com o nome do seu tema e cas.viewResolver.basename com o nome do arquivo properties que conterá os mapeamentos das views. Por exemplo:
#cas.themeResolver.defaultThemeName=default
#cas.viewResolver.basename=default_views
cas.themeResolver.defaultThemeName=obaoba
cas.viewResolver.basename=obaoba_views
Neste caso, o cas utilizará os mapeamentos de view do arquivo obaoba_views.properties. Portanto, é necessário criar tal arquivo. Basta criar uma cópia do default_views.properties que vem com o CAS e alterar a localização dos jps para um diretório que contenha as sua páginas personalizadas. Neste caso também vale a dica de copiar o diretório existente WEB-INF/view/jsp/default, renomeá-lo e efetuar as suas personalizações. Note que as páginas existentes nesse diretório devem ser referenciadas no arquivo obaoba_views.properties.
Seguindo essas dicas, você estará modificando o tema padrão da sua instalação do CAS. Ainda é possível associar temas aos serviços que são protegidos pelo CAS através do cadastro de serviços, dessa maneira cada aplicação protegida pode ter o seu layout específico na tela de login, tudo isso dentro de uma única instalação do CAS.
Deixar um comentário » |
implementação | Etiquetado: autenticação, CAS, single sign-on |
Link Permanente
Escrito por andrecardoso
Setembro 23, 2009
O CAS (Central Authentication Service) é um projeto open-source com o objetivo de prover a funcionalidade de autenticação única (single sign-on) para aplicações web.
Neste post, explicarei como criar uma versão customizada do CAS para que suas aplicações façam uso do single sing-on da sua maneira.
Seguindo a recomendação do wiki do CAS, uma das maneiras de customizá-lo é criar um projeto maven de uma aplicação web, e adicionar como dependência a aplicação que vem no pacote do CAS.
Digamos que a empresa “Oba oba” queira autenticar suas aplicações utilizando o CAS:
1. Criar diretório para o projeto
mkdir cas-obaoba
cd cas-obaoba
mkdir -p src/main/webapp
gedit pom.xml
2. Criar o pom.xml descrevendo o projeto maven
<?xml version="1.0"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.obaoba.cas</groupId>
<artifactId>cas-obaoba</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>cas-obaoba - Aplicação de autenticação</name>
<description>Aplicação JA-SIG CAS customizada para a Oba oba.</description>
<dependencies>
<!-- aplicação web do CAS que será personalizada-->
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-webapp</artifactId>
<version>3.3.3</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-core</artifactId>
<version>3.3.3</version>
</dependency>
</dependencies>
<build>
<finalName>cas-obaoba</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>RELEASE</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<contextPath>cas-obaoba</contextPath>
<scanIntervalSeconds>5</scanIntervalSeconds>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
<confidentialPort>8443</confidentialPort>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>jasig-repository</id>
<name>JA-SIG Maven2 Repository</name>
<url>http://developer.ja-sig.org/maven2</url>
</repository>
</repositories>
</project>
3. Empacotar o projeto
mvn package
4. Copiar o conteúdo da aplicação web (xmls, jsps, css, javascripts, etc) que será personalizado.
cp -r target/cas-obaoba/* src/main/webapp/
5. Iniciar o servidor de desenvolvimento para confirmar que tudo deu certo.
mvn jetty:run
6. Abra http://localhost:8080/cas-obaoba no browser e verifique se a aplicação foi iniciada corretamente.

Imagem do browser exibindo a aplicação de login do CAS
Estes foram os passos básicos para iniciar um projeto de personalização do CAS. A partir deste projeto, é possível alterar o conteúdo que está em src/main/webapp para incorporar o layout da sua empresa, além de modificar as configurações do CAS no arquivo src/main/webapp/WEB-INF/deployerConfigContext.xml para utilizar AuthenticationHandlers específicos da sua instalação, bem como um TicketRegistry real de alta disponibilidade. Assuntos que possivelmente serão tratados em outros posts.
Deixar um comentário » |
implementação | Etiquetado: CAS, single sign-on, sso, autenticação, maven, Central Authentication Service |
Link Permanente
Escrito por andrecardoso