У меня есть проект начальной загрузки, в котором я пытаюсь создать провайдера идентификации SAML2 (IdP), используя пакеты spring-boot-starter-security
(v2.1.4.RELEASE) и spring-security-saml2-core
(v1.0.9.RELEASE).Я в основном пытаюсь настроить и построить код, который находится в https://github.com/fhanik/springone2018/blob/master/demo/saml-idp. Однако, когда я строю свой код, я получаю следующие ошибки:
package org.springframework.security.saml.provider не существует
не может найти символ символа: class SamlServerConfiguration
Я считаю, что я включил все необходимые пакеты, которые упомянуты в ссылочной реализации, поэтому не совсем уверен, почемуЯ получаю эту ошибку.
Ниже приведены файлы в моем проекте.
AppConfig.java (файл, содержащий ошибку):
package com.example.saml.identityprovider;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.saml.provider.SamlServerConfiguration; // error: package does not exist
@ConfigurationProperties(prefix = "spring.security.saml2")
@Configuration
public class AppConfig extends SamlServerConfiguration { // error: symbol not found
}
Application.java (файл, содержащий main ):
package com.example.saml.identityprovider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class Application {
private static final Logger logger = LoggerFactory.getLogger(Application.class);
/**
* Returns the homepage message.
*
* @return String message
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String getHome() {
logger.info("Received request for '/' endpoint");
return "This is a SAML identity provider.";
}
/**
* Provides SPs to select from.
*
* @return String
*/
@RequestMapping("/selectsp")
public String selectProvider() {
logger.info("Sample IdP application - Select an SP");
return "redirect:/saml/idp/select";
}
/**
* Main method.
*
* @param args Command-line args
*/
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
pom.xml :
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.example.saml</groupId>
<artifactId>identityprovider</artifactId>
<version>0.1-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!-- Spring boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.security.extensions/spring-security-saml2-core -->
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>1.0.9.RELEASE</version>
</dependency>
</dependencies>
</project>
Если бы кто-то мог указать мне на то, чего мне не хватает, я был бы очень признателен.Заранее спасибо!