Saltar al contenido principal

Usando Casdoor como un Servidor CAS

Usando Casdoor como un Servidor CAS

Casdoor ahora puede ser utilizado como un servidor CAS. Actualmente soporta CAS 3.0.

Visión general

El prefijo del punto final de CAS en Casdoor es <Casdoor endpoint>/cas/<nombre de la organización>/<nombre de la aplicación>. Aquí hay un ejemplo utilizando el punto final https://door.casdoor.com con una aplicación llamada cas-java-app bajo la organización casbin:

  • /login endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/login
  • /logout endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/logout
  • /serviceValidate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/serviceValidate
  • /proxyValidate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/proxyValidate
  • /proxy endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/proxy
  • /validate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/validate
  • /p3/serviceValidate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/p3/serviceValidate
  • /p3/proxyValidate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/p3/proxyValidate
  • /samlValidate endpoint: https://door.casdoor.com/cas/casbin/cas-java-app/samlValidate

Para más información sobre CAS, sus diferentes versiones y parámetros para estos puntos finales, consulta la Especificación del Protocolo CAS.

Un Ejemplo

Aquí hay un ejemplo oficial Repositorio de GitHub que contiene una aplicación web y utiliza el cliente oficial de CAS Java Repositorio de GitHub. Al revisar este ejemplo, puedes aprender cómo conectarte a Casdoor a través de CAS.

nota

Nota: Actualmente, Casdoor solo soporta las tres versiones de CAS: CAS 1.0, 2.0 y 3.0.

La configuración de CAS se encuentra en src/main/webapp/WEB-INF/web.yml.

Por defecto, esta aplicación utiliza CAS 3.0, que está especificado por las siguientes configuraciones:

<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class>

Si quieres proteger esta aplicación web usando CAS 2.0, cambia el Filtro de Validación de CAS a lo siguiente:

<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>

Para CAS 1.0, utiliza lo siguiente:

<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>

Para todas las instancias del parámetro casServerUrlPrefix, cámbialas a:

<param-name>casServerUrlPrefix</param-name>
<param-value>http://door.casdoor.com/cas/casbin/cas-java-app</param-value>

Para todas las instancias del parámetro casServerLoginUrl, cámbialas a:

<param-name>casServerLoginUrl</param-name>
<param-value>http://door.casdoor.com/cas/casbin/cas-java-app/login</param-value>

Si necesitas personalizar más configuraciones, consulta el Repositorio de GitHub del cliente Java CAS para obtener información detallada.