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

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

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.