Pular para o conteúdo principal

Usando Casdoor como um Servidor CAS

Usando Casdoor como um Servidor CAS

Casdoor agora pode ser usado como um servidor CAS. Ele atualmente suporta CAS 3.0.

Visão Geral

O prefixo do endpoint CAS no Casdoor é <Casdoor endpoint>/cas/<nome da organização>/<nome da aplicação>. Aqui está um exemplo usando o endpoint https://door.casdoor.com com uma aplicação chamada cas-java-app sob a organização 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 mais informações sobre CAS, suas diferentes versões e parâmetros para esses endpoints, consulte a Especificação do Protocolo CAS.

Um Exemplo

Aqui está um exemplo oficial Repositório GitHub que contém um aplicativo web e utiliza o cliente oficial CAS Java Repositório GitHub. Ao seguir este exemplo, você pode aprender como se conectar ao Casdoor via CAS.

nota

Nota: Atualmente, o Casdoor suporta apenas as três versões do CAS: CAS 1.0, 2.0 e 3.0.

A configuração do CAS está localizada em src/main/webapp/WEB-INF/web.yml.

Por padrão, este aplicativo usa CAS 3.0, que é especificado pelas seguintes configurações:

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

Se você quiser proteger este aplicativo web usando CAS 2.0, altere o Filtro de Validação CAS para o seguinte:

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

Para CAS 1.0, use o seguinte:

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

Para todas as instâncias do parâmetro casServerUrlPrefix, altere-os para:

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

Para todas as instâncias do parâmetro casServerLoginUrl, altere-os para:

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

Se você precisar personalizar mais configurações, consulte o Repositório GitHub do cliente Java CAS para informações detalhadas.