Skip to main content

Posts

Showing posts with the label CAS

How to CAS enable JasperServer in 5 Minutes

At work we recently decided to integrate our reports server, JasperServer 4.5, with our single sign on server, CAS. Here is how to CAS enable JasperServer in 5 Minutes: List of Assumptions: CAS is already installed, configured and in production. JasperServer is already installed. CAS Apache WebServer client mod_auth_cas is installed and configured. List of Steps: Add CAS configuration to applicationContext-security.xml Add LDAP configuration to applicationContext-security.xml Modify authenticationManager bean in applicationContext-security.xml Modify filterChainProxy bean settings in applicationConfiguration-security-web.xml Modify mod_auth_cas configuration Adding CAS configuration to applicationContext-security.xml Since mod_auth_cas client is configured at the web server level, we will be modifying the application security context of JasperServer to work with pre-authentication. Mod_auth_cas is a supported client of CAS and more information can be found at https://wiki....

CAS Proxy Ticket Utility for Alfresco Share Dashlets

Alfresco Share dashlet controllers can be used to call internal (Alfresco Repository) as well as external restful web services. In our environment our external restful web services are protected by CAS. In order to authenticate calls from Alfresco Share dashlets, CAS proxy authentication protocol is used. You can find much about CAS, its supported clients and protocols on their web site at http://www.jasig.org/cas. Cas ProxyAuthentication requires proxy tickets to be submitted with each service call. Therefore, proxy ticket must be generated and attached to each http call from an Alfresco Share dashlet. Here is snippet of a controller from one of our dashlets.  var hoursServiceUrl = remote.getEndpointURL("casProtectedService") + "/users/" + user.name + "/hours.json"; var proxyTicket = proxyTicketUtil.proxyTicket(hoursServiceUrl); var hoursUrl = hoursServiceUrl + "?ticket=" + proxyTicket; var hoursConnector = remote.connect(" casProte...