eureka/pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
eureka/src/main/java/com/sinata/eureka/EurekaApplication.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
eureka/src/main/java/com/sinata/eureka/config/WebSecurityConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
eureka/src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
eureka/pom.xml
New file @@ -0,0 +1,82 @@ <?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 https://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.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.sinata</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>eureka</name> <description>Eureka project for Spring Boot</description> <packaging>jar</packaging> <properties> <java.version>1.8</java.version> <spring-cloud.version>Finchley.SR1</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <!-- 添加安全认证依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-tomcat</artifactId>--> <!--<scope>provided</scope>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>javax.servlet</groupId>--> <!--<artifactId>javax.servlet-api</artifactId>--> <!--<version>3.1.0</version>--> <!--<scope>provided</scope>--> <!--</dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </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> eureka/src/main/java/com/sinata/eureka/EurekaApplication.java
New file @@ -0,0 +1,22 @@ package com.sinata.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer//开启服务治理 @SpringBootApplication public class EurekaApplication /*extends SpringBootServletInitializer*/ { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } // @Override // protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // return builder.sources(EurekaApplication.class); // } } eureka/src/main/java/com/sinata/eureka/config/WebSecurityConfig.java
New file @@ -0,0 +1,24 @@ package com.sinata.eureka.config; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; /** * 基于web安全认证 */ @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override public void configure(HttpSecurity http) throws Exception { // Configure HttpSecurity as needed (e.g. enable http basic). http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER); http.csrf().disable(); //注意:为了可以使用 http://${user}:${password}@${host}:${port}/eureka/ 这种方式登录,所以必须是httpBasic, // 如果是form方式,不能使用url格式登录 http.authorizeRequests().anyRequest().authenticated().and().httpBasic(); } } eureka/src/main/resources/application.yml
New file @@ -0,0 +1,24 @@ server: port: 8000 #服务端口号 spring: application: name: eureka-center #服务名称 security: basic: enable: true #开启基于HTTP basic的认证 user: #配置用户的账号信息 name: sinata password: sinata eureka: instance: hostname: 127.0.0.1 #注册中心地址 client: service-url: #客户端调用地址 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ register-with-eureka: false #是否将自己注册到Eureka服务中,因为该应用本身就是注册中心,不需要再注册自己(集群的时候为true) fetch-registry: false #是否从Eureka中获取注册信息,因为自己为注册中心,不会在该应用中的检索服务信息 server: enable-self-preservation: false #禁用自我保护模式,服务不可用时及时从注册中心剔除 eviction-interval-timer-in-ms: 4000