跳到主内容

使用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仓库以获取详细信息。