跳到主内容

使用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

For more information about CAS, its different versions, and parameters for these endpoints, refer to the CAS Protocol Specification.

一个例子

这是一个官方示例 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仓库以获取详细信息。