这个问题是关于使用基本身份验证来保护Spring Cloud Config服务器。
这个项目的目的是提供一个git支持的配置服务。一切都在努力,我想开始引入安全性。
我所遵循的教程表明,只需将spring-cloud-starter-security依赖项添加到Maven,它就应该在端点上引入基本身份验证。但是,即使存在依赖关系,当我通过Postman调用服务时(例如):
本地主机:8888 / s1rates的/ dev
我得到了与以前相同的成功结果,我希望调用失败并出现身份验证错误。
我的相关文件如下。我用STS中的弹簧启动项目创建了这个项目。我重建了项目并重新启动了spring boot应用程序(在STS Boot仪表板中)。我还尝试将以下行添加到application.yml的末尾,包含和不包含'path'。
security:
basic:
enabled: true
path: /**
我所做的所有研究似乎表明,如果没有进一步配置,这应该有效(或者在这种情况下不起作用)。任何指导都将不胜感激。
谢谢, 罗布
我的IDE是: Spring Tool Suite 版本:3.9.2.RELEASE Build Id:201712210947 平台:Eclipse Oxygen.2(4.7.2)
这是我的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>
<groupId>com.example</groupId>
<artifactId>pluralsight-springcloud-m2-configserver-git</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>pluralsight-springcloud-m2-configserver-git</name>
<description>Demo project for Spring Config Server with Git</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-security</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这是我的application.yml
---
server:
port: 8888
spring:
cloud:
config:
server:
git:
uri: https://github.com/xxxxxxxxx/pluralsight-spring-cloudconfig-wa-tolls
search-paths:
- 'station*'
repos:
perf:
pattern:
- "*/perf*"
uri: https://github.com/xxxxxxxxx/pluralsight-spring-cloudconfig-wa-tolls-perf
search-paths:
- 'station*'
这是我的主要课程......
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class PluralsightSpringcloudM2ConfigserverGitApplication {
public static void main(String[] args) {
SpringApplication.run(PluralsightSpringcloudM2ConfigserverGitApplication.class, args);
}
}