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: 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.