Перейти к основному содержанию

Использование Casdoor в качестве CAS-сервера

Использование Casdoor в качестве CAS-сервера

Casdoor теперь можно использовать в качестве CAS-сервера. В настоящее время поддерживается CAS 3.0.

Обзор

Префикс конечной точки CAS в Casdoor - <Casdoor endpoint>/cas/<organization name>/<application name>. Вот пример использования конечной точки https://door.casdoor.com с приложением под названием cas-java-app в организации 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.

Пример

Вот официальный пример репозиторий GitHub, который содержит веб-приложение и использует официальный клиент CAS Java репозиторий GitHub. Пройдя через этот пример, вы можете научиться подключаться к Casdoor через CAS.

заметка

Примечание: В настоящее время Casdoor поддерживает все три версии CAS: CAS 1.0, 2.0 и 3.0.

Конфигурация CAS находится в src/main/webapp/WEB-INF/web.yml.

По умолчанию это приложение использует CAS 3.0, что указано в следующих конфигурациях:

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

Если вы хотите защитить это веб-приложение с помощью CAS 2.0, измените фильтр проверки CAS на следующий:

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

Для CAS 1.0 используйте следующее:

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

Для всех экземпляров параметра casServerUrlPrefix измените их на:

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

Для всех экземпляров параметра casServerLoginUrl измените их на:

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

Если вам нужно настроить больше конфигураций, смотрите репозиторий GitHub клиента Java CAS для получения подробной информации.