当前位置: 首页 > 知识库问答 >
问题:

使用Jasig CAS配置Spring启动

时浩波
2023-03-14

我正在做一个测试项目,为我们未来的项目尝试SpringBoot。

我们正在使用jasig CAS,我正在尝试配置Spring Boot和嵌入式tomcat服务器。

所以我加入了pom。xml spring启动程序安全性

之后,我尝试配置WebSecurityConfig-

@Bean
public CasAuthenticationEntryPoint casAuthenticationEntryPoint() {
    CasAuthenticationEntryPoint casAuthenticationEntryPoint = new CasAuthenticationEntryPoint();
    casAuthenticationEntryPoint.setLoginUrl("https://localhost:9443/cas/login");
    casAuthenticationEntryPoint.setServiceProperties(serviceProperties());
    return casAuthenticationEntryPoint;
}

这里是第一个问题:类组织。springframework。安全中科院。网状物应用程序未重新确认CasAuthenticationEntryPoint。

类似乎没有导入Spring启动启动安全。

最佳做法是什么?我是否必须像以前那样在pom中手动添加依赖项?

例子:

<dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-cas</artifactId>
        <version>${spring-security.version}</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

如果是,我需要使用哪个版本来适应启动版本包并避免冲突?

第二点是如何配置嵌入式tomcat以启用带有证书的ssl?

这是我为CAS设计的经典server.xml配置:

Connector emptySessionPath="true" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" URIEncoding="UTF-8"
    maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="C:\***\***\***\.keystore" keystorePass="***"
    truststoreFile="C:\Program Files\Java\jdk1.7.0_67\jre\lib\security\cacerts"
compression="on"
     compressionMinSize="2048"
     noCompressionUserAgents="gozilla, traviata"
     compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript"/>

是否可以使用嵌入式tomcat配置keystrefile/truststorefile?

谢谢

共有2个答案

祁通
2023-03-14

我有点困惑,我试图完成SSL配置,但我仍然面临一个问题。

以下是我使用spring boot的tomcat配置:

server.port = 8080
server.ssl.key-store = C:\\dev\\web\\tomcat\\.keystore
server.ssl.key-store-password = changeit
server.ssl.key-password = changeit
server.ssl.trustStore = C:\\Program Files\\Java\\jdk1.7.0_67\\jre\\lib\\security\\cacerts
server.ssl.trustStorePassword = changeit

我启动应用程序,没问题,我在CAS服务器上被重定向,我输入登录/通过,然后按enter键,然后我得到错误:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

这就像如果我的证书不起作用,但是当我以经典的方式使用tomcat时(不是嵌入式的,我的配置在我的第一篇文章中),它可以完美地工作。

我错过什么了吗?

宰父远
2023-03-14

假设您正在使用sping-boot-starter-父作为项目的父(或将其导入到您自己的中)

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-cas</artifactId>
</dependency>

参考文档中介绍了SSL配置。您只需要指定一些属性来配置密钥库,等等。例如:

server.port = 8443
server.ssl.key-store = keystore.jks
server.ssl.key-store-password = secret
server.ssl.key-password = another-secret

 类似资料:
  • 我为spring-boot创建了一个spring安全配置类。我的登录页面有资源css、js和ico文件。这些资源由于安全原因而被拒绝,并且每次都被重定向到登录页面。为什么EnableWebMVCSecurity不添加类路径资源位置。在更改代码后,如第二个代码片段所示,将添加I Classpath资源位置。不明白第一段代码中的资源缺少什么。 我通过将代码更改为 在更改代码之后,我注意到忽略路径被添加

  • 我最近将我的应用程序配置为使用SpringCloudConfig和Github作为配置存储库。 Spring靴-2.1。1.发布 我的应用程序几乎使用了所有现成的东西。我刚刚在我有HikariCP自动配置在后台发挥神奇的作用。 我正在刷新我的应用程序使用这个作业,调用方法上的刷新endpoint。 一切似乎都很好,但每次刷新配置时,我都会看到以下日志。这些日志显示HikariCP池在每次刷新时都会

  • 我有一个需要执行LDAP查询的Spring启动应用程序。我正在尝试从Spring启动文档中获取以下建议: Internet上已经发布了许多使用XML配置的Spring配置示例。如果可能,请始终尝试使用等效的基于Java的配置。 在Spring XML配置文件中,我会使用: 我如何使用基于Java的配置来配置它?我需要能够更改ldap的URL、base、用户名和密码属性:上下文源,而无需代码重建。

  • 问题内容: 我在网上找不到直接的答案。 Spring Boot的yml文件是否彼此“继承”?我的意思是如果我有: 其中有 而且只有 因此,如果我以活动配置文件启动Spring Boot ,是否还将属性设置为? 问题答案: 是的,文件的优先级高于任何文件。特定于配置文件的yml文件中的属性将覆盖默认文件中的值,特定于配置文件的yml文件中不存在的属性将从默认文件中加载。它适用于文件以及或。 Spri

  • 我正在尝试从Spring Boot应用程序连接到Microsoft SQL Server 2016。SQL server是使用windows身份验证配置的。 以下是配置 注意:我正在使用Windows身份验证。 谁能帮忙吗?