Passer au contenu principal

Utilisation de Casdoor comme serveur CAS

Utilisation de Casdoor comme serveur CAS

Casdoor peut maintenant être utilisé comme serveur CAS. Il prend actuellement en charge CAS 3.0.

Aperçu

Le préfixe de point de terminaison CAS dans Casdoor est <Casdoor endpoint>/cas/<nom de l'organisation>/<nom de l'application>. Voici un exemple utilisant le point de terminaison https://door.casdoor.com avec une application nommée cas-java-app sous l'organisation 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

For more information about CAS, its different versions, and parameters for these endpoints, refer to the CAS Protocol Specification.

Un exemple

Voici un exemple officiel Dépôt GitHub qui contient une application web et utilise le client Java officiel CAS Dépôt GitHub. En parcourant cet exemple, vous pouvez apprendre à vous connecter à Casdoor via CAS.

note

Remarque : Actuellement, Casdoor prend uniquement en charge les trois versions de CAS : CAS 1.0, 2.0 et 3.0.

La configuration CAS se trouve dans src/main/webapp/WEB-INF/web.yml.

Par défaut, cette application utilise CAS 3.0, qui est spécifié par les configurations suivantes :

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

Si vous souhaitez protéger cette application web en utilisant CAS 2.0, changez le filtre de validation CAS par le suivant :

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

Pour CAS 1.0, utilisez ce qui suit :

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

Pour toutes les instances du paramètre casServerUrlPrefix, changez-les en :

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

Pour toutes les instances du paramètre casServerLoginUrl, changez-les en :

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

Si vous avez besoin de personnaliser davantage de configurations, consultez le Dépôt GitHub du client Java CAS pour des informations détaillées.