目录
新增一个Maven项目
完整pom
修改配置文件application.yml
修改启动类,增加关闭csrf(跨站请求伪造)的代码
测试Eureka
服务提供者注册到eureka
系列目录(持续更新。。。)
Spring Cloud之一:注册与发现-Eureka工程的创建
Spring Cloud之二:服务提供者注册到Eureka Server
新增一个Maven项目,或复制之前创建好的项目eureka,修改artifactId为eureka-pass
pom比eureka项目多增加了以下依赖:
org.springframework.boot spring-boot-starter-security
4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.9 cn.laocheng eureka-pass 0.0.1-SNAPSHOT eureka-pass 服务注册中心 1.8 2021.0.5 org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-security org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin netflix-candidates Netflix Candidates https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates false
修改配置文件,增加红框框里面的配置,修改defaultZone值

完整配置文件如下:
spring:security:# basic:# enabled: true #开启认证user:# 配置登录账号为adminname: admin# 配置登录密码为:admin135password: admin135server:port: 7200
eureka:instance:hostname: localhostclient:registerWithEureka: false #表示是否将自己注册到Eureka server,默认为true。fetchRegistry: false #表示是否从Eureka server获取注册信息,默认为true。因为我们现在演示的是一个单点Eureka server,不需要同步其他Eureka server的数据,所以先设置为falseserviceUrl:#defaultZone: http://localhost:7200/eureka/ #与Eureka server交互的地址,多个地址可以用,隔开defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
启动类中增加以下代码,不加这段代码,服务提供者是无法注册进来的。
@EnableWebSecurity
//自动配置类SecurityConfigurer,类启动会自动去application.xml去找用用户名和密码class WebSecurityConfig extends WebSecurityConfigurerAdapter {protected void configure(HttpSecurity http) throws Exception {http.csrf().disable(); //关闭csrf(跨站请求伪造)super.configure(http);}}

访问网址:http://localhost:7200 ,出现如下界面:

输入配置的账号:admin 密码:admin135,则登录成功
修改服务提供者(user项目)的配置文件中的defaultZone,修改为:
defaultZone: http://admin:admin135@localhost:7200/eureka/
最终user项目配置如下
server:port: 7101 # 端口
spring:application:name: user # 注册到Eureka Server显示的应用名称eureka:client:serviceUrl:defaultZone: http://admin:admin135@localhost:7200/eureka/instance:prefer-ip-address: true #将自己的IP注册到Eureka Serverinstance-id: ${spring.application.name}:${spring.cloud.client.ip-address}:${server.port} #:${random.long(1,100)}
启动user,刷新 http://localhost:7200 站点,效果如下图

至此注册成功