Spring Boot Security CAS身份验证集成

问题描述

我迫切需要帮助。因此,作为前提条件,我需要创建一个简单的Web应用程序。应用程序要求是创建一个简单的Web表单,该表单收集用户数据,然后向刚刚提供信息的用户发送电子邮件验证。该项目的困难之处在于与Marist College CAS认证系统的CAS集成。这个项目的要求是我使用Spring Boot创建项目。目前,我已经实现了Spring Security来对用户进行身份验证。我一直在尝试所有在线操作,以将CAS与现有项目集成。我希望StackOverflow上的某人可能对如何将CAS与SpringSecurtiy集成有更多的了解。另外,请不要对我苛刻,我在此项目之前从未使用过spring框架,这对我来说是全新的。 CAS服务器的网址为“ https://login.marist.edu/cas/”。我研究了https://github.com/apereo/java-cas-client弹簧支持,但我不知道如何将其与当前应用程序集成。预先感谢任何能帮助我的人。

解决方法

正如我之前所说,我将为我在将Spring应用程序与Marist CAS 2.0身份验证系统集成过程中遇到的问题提供解决方案。如上所述,可以使用Spring Boot自动配置。尽管这可能不是保护应用程序安全的最佳方法,但它满足了我对我正在从事的项目的需求。下面是使用CAS 2.0配置spring应用程序的步骤。

  1. 添加Maven依赖项

行家:

<dependency>
   <groupId>org.jasig.cas.client</groupId>
   <artifactId>cas-client-support-springboot</artifactId>
   <version>${java.cas.client.version}</version>
</dependency>
  1. 在Spring Boot的application.properties或application.yml中添加以下必需属性
cas.server-url-prefix=https://cashost.com/cas
cas.server-login-url=https://cashost.com/cas/login
cas.client-host-url=https://casclient.com

3)使用@EnableCasClient注释对Spring Boot应用程序(或任何@Configuration类)进行注释

@SpringBootApplication
@Controller
@EnableCasClient
public class MyApplication { .. }

4)对于CAS3协议(身份验证和验证过滤器)-如果未指定任何内容,则为默认值

cas.validation-type=CAS3

对于CAS2协议(身份验证和验证过滤器)

cas.validation-type=CAS

对于SAML协议(身份验证和验证过滤器)

cas.validation-type=SAML