跳到主要内容

OpenSAML 支持

QWen Max 中英对照 OpenSAML Support

Spring Security 提供了一个用于实现 SAML 2.0 功能的 API,同时它也使用 OpenSAML 提供了一个默认实现。

因为 Spring Security 同时支持多个版本的 OpenSAML,所以组件使用以下命名约定:

  • 任何在所有支持的版本中都可使用的组件被命名为 OpenSamlXXX

  • 任何针对 OpenSAML 4.x 的组件被命名为 OpenSaml4XXX

  • 任何针对 OpenSAML 5.x 的组件被命名为 OpenSaml5XXX

spring-security-config 默认会通过发现您的应用程序当前使用的版本来在这两个实现之间进行选择。例如,如果您使用的是 OpenSAML 4,Spring Security 将使用 OpenSaml4XXX 组件。

选择 OpenSAML 4

Spring Security 默认依赖于 OpenSAML 4,因此除了导入 spring-security-saml 依赖之外,你无需做任何事情即可开始使用它。

选择 OpenSAML 5

要使用 OpenSAML,你应该按如下方式覆盖 opensaml 依赖项:

<dependencies>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-saml2-service-provider</artifactId>
<exclusions>
<exclusion>
<groupId>org.opensaml</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-api</artifactId>
<version>5.1.2</version>
</dependency>
<dependency>
<groupId>org.opensaml</groupId>
<artifactId>opensaml-saml-impl</artifactId>
<version>5.1.2</version>
</dependency>
</dependencies>
maven
备注

该排除是必要的,因为 OpenSAML 5 将 opensaml-core 拆分为 opensaml-core-apiopensaml-core-impl