Использование 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 для получения подробной информации.