使用Casdoor作为CAS服务器
使用Casdoor作为CAS服务器
Casdoor现在可以作为CAS服务器使用。 它目前支持CAS 3.0。
简介
Casdoor中的CAS端点前缀是<Casdoor endpoint>/cas/<organization name>/<application name>
。 这是一个使用端点https://door.casdoor.com
,在casbin
组织下名为cas-java-app
的应用程序的示例:
/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
有关CAS,其不同版本以及这些端点的参数的更多信息,请参阅CAS协议规范。
一个例子
这是一个官方示例 GitHub 仓库,其中包含一个网页应用,并使用官方的 CAS Java 客户端 GitHub 仓库。 通过这个例子,你可以学习如何通过CAS连接到Casdoor。
备注
注意:目前,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>
如果您需要自定义更多配置,请查看Java CAS客户端GitHub仓库以获取详细信息。