En algunas circunstancias, es necesario poder ofrecer 2 o más entornos O3 Web, con Look & Feel totalmente diferentes para los distintos usuarios.
Este HowTo establece los pasos para configurar 2 contextos O3 Web, cada uno con su L&F independiente.
Esto se aplica a los Clientes Web de O3. En el caso de estar utilizando O3 Enterprise Portal, es posible crear distintos Portales utilizando los propios mecanismos de O3 Enterprise Portal.
La forma de resolver el problema tiene las siguientes caracaterísticas:
La solución consiste en hacer un deploy de un o3portal.war adicional (el nombre o3portal.war no debe confundirse con el componente O3 Enterprise Portal).
Cada war podrá ser configurado con su propio L&F y también acceder a modelos multidimensionales diferentes.
Para lograr el objetivo debemos relalizas los siguiente pasos.
<module> <web> <web-uri>o3portal.war</web-uri> <context-root>/o3portal</context-root> </web> </module> |
<module> <web> <web-uri>o3portal.war</web-uri> <context-root>/o3portal</context-root> </web> </module> <module> <web> <web-uri>o3portal_2.war</web-uri> <context-root>/o3portal_2</context-root> </web> </module> |
<module> <web> <web-uri>o3cas.war</web-uri> <context-root>/cas</context-root> </web> </module> |
<module> <web> <web-uri>o3cas.war</web-uri> <context-root>/cas</context-root> </web> </module> <module> <web> <web-uri>o3cas_2.war</web-uri> <context-root>/cas2</context-root> </web> </module> |
<filter> <filter-name>checkLoginFilter</filter-name> <filter-class>com.ideasoft.cs.ejb.cas.filter.CASFilter</filter-class> <init-param> <param-name>logout_url</param-name> <param-value>/cas/logout</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>${request.prefix}/cas/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>${request.prefix}/cas/proxyValidate</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>${request.serverName}</param-value> </init-param> </filter> |
<filter> <filter-name>checkLoginFilter</filter-name> <filter-class>com.ideasoft.cs.ejb.cas.filter.CASFilter</filter-class> <init-param> <param-name>logout_url</param-name> <param-value>/cas2/logout</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>${request.prefix}/cas2/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>${request.prefix}/cas2/proxyValidate</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>${request.serverName}</param-value> </init-param> </filter> |
if (isSSO) { response.sendRedirect("/cas/logout?service=" + request.getContextPath()); } else { response.sendRedirect(request.getContextPath() + "/"); } |
if (isSSO) { response.sendRedirect("/cas2/logout?service=" + request.getContextPath()); } else { response.sendRedirect(request.getContextPath() + "/"); } |
Para lograr que un usario que solo debería ver los cubos de o3portal y no los de o3portal_2
procedemos a: