...
Info | ||
---|---|---|
| ||
La funcionalidad descrita en este documento está disponible a partir de la versión 7.1.04 |
Introducción
Si bien una forma de integrarse con el Single Sign On de O3 es la adaptación de la aplicación existente para que utilice el CAS de O3, en muchas oportunidades esto es demasiado complejo y se requiere una alternativa más simple.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<datasource jndi-name="java:jboss/datasources/TicketDS"
pool-name="TicketDS" enabled="true" jta="true" use-java-context="true"
use-ccm="true">
<connection-url>
jdbc:mysql://localhost:5858/sso_tickets
</connection-url>
<driver>
mysql
</driver>
<security>
<user-name>root</user-name>
<password>root</password>
</security>
</datasource>
</datasources>
|
Ejemplo de DataSource para una base Postgres (<o3bi>/jboss/standalone/deployments/Ticket-ds.xml).
Code Block language xml <?xml version="1.0" encoding="UTF-8"?> <datasources> <datasource jndi-name="java:jboss/datasources/TicketDS" pool-name="TicketDS" enabled="true" jta="true" use-java-context="true" use-ccm="true"> <connection-url> jdbc:postgresql://localhost:5432/sso_tickets </connection-url> <driver> postgres </driver> <security> <user-name>postgres</user-name> <password>postgres</password> </security> </datasource> </datasources>
Poner el driver en jboss. Para esto leer el wiki: Cómo configurar RBAC de O3BI con Diferentes Bases de Datos que explica como poner un driver en jboss7
...
Para esto hay que agregar los siguientes init-param en 2 filtros ("CASAuthenticationFilter" y "CAS Validation Filter") de CAS del archivo en el archivo "<o3bi>/jboss/standalone/deployments/o3-server.ear/o3web.war/o3web.war/WEB-INF/web.xml" los siguientes init-param en:
- 2 filtros ("CASAuthenticationFilter" y "CAS Validation Filter")
- un Servlet que se llama "o3WebLogoutServlet"
Code Block | ||||
---|---|---|---|---|
| ||||
<init-param> <param-name>ticket.validator</param-name> <param-value>com.ideasoft.cs.ejb.ticket.DbTicketValidator</param-value> </init-param> <init-param> <param-name>dbticket.datasource</param-name> <param-value>java:jboss/datasources/TicketDS</param-value> </init-param> |
...
Configuración de SSO para EPortal
Descomentar las siguientes propiedades del archivo <o3bi>/liferay/portal-ext.properties:
Code Block o3.autologin.validator=com.ideasoft.cs.ejb.ticket.DbTicketValidator dbticket.datasource=java:/comp/env/jdbc/TicketDB
...
Se puede especificar también la propiedad dbticket.expiration de la misma manera que para la configuración de O3Web.
Agregar el "O3AutoLogin" en la property "auto.login.hooks".
Debe queda así: auto.login.hooks=com.liferay.portal.security.auth.CASAutoLogin,com.liferay.portal.security.auth.FacebookAutoLogin,com.liferay.portal.security.auth.NtlmAutoLogin,com.liferay.portal.security.auth.OpenIdAutoLogin,com.liferay.portal.security.auth.OpenSSOAutoLogin,com.liferay.portal.security.auth.RememberMeAutoLogin,com.liferay.portal.security.auth.SiteMinderAutoLogin,biz.ideasoft.liferay.portal.login.O3AutoLoginAgregar la configuración de la Base de datos en liferay:
Agregar el "Resource" en el archivo <o3bi>liferay/tomcat/conf/context.xml
Ejemplo Mysql:Code Block <Resource name="jdbc/TicketDB" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:5858/sso_tickets" validationQuery="select 1" maxActive="50" maxIdle="10"/>
Ejemplo PostgreSQL:
Code Block <Resource name="jdbc/TicketDB" auth="Container" type="javax.sql.DataSource" username="postgres" password="postgres" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/sso_tickets" validationQuery="select 1" maxActive="
...
50" maxIdle="
...
10"/>