Використання 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 клієнта для отримання детальної інформації.