用的spring boot 2.0
在周立的教程书上以及很多网上的资料,关于config 服务端的账号密码设置都是引入security依赖后配置
security:
basic:
enabled: true
user:
name: root
password: root
然后客户端就
但是,服务端根本就没以上的配置啊! 什么basic 连security开头的配置都没有
只能用最后2个 spring 下的security 配置设置用户名密码,但是然并卵,
spring:
cloud:
config:
discovery:
enabled: true
service-id: config
label: master
profile: dev
username: aa
password: bb
客户端链接还是报401 null
还有奇怪的一点,config 服务端有一个刷新配置端点
http://localhost:8210/actuator/bus-refresh
服务端在开启security的自定义用户名密码的时候
用网页能够认证成功,用postman请求 就是401,
说了这么多我就想知道到底怎么配置服务端才能客户端鉴权访问?
第一个问题,springboot 2.x 对应springcloud Finchley,它已经停用security.basic.* 的配置。
第二个问题,你用postman测试的时候,要选择Authorization菜单,类型选择 Basic Auth,然后输入用户名和密码,go
第三个问题,就springcloud本身而言,你只需要在服务端配置:
spring.cloud.config.server.git.uri=http://xxxx
spring.security.user.name=user
spring.security.user.password=pass123
如果你的配置不在根目录,再配置一下:
spring.cloud.config.server.git.search-paths=config_server
而客户端,配置:
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.name=cloud-config
spring.cloud.config.profile=dev
spring.cloud.config.username=user
spring.cloud.config.password=pass123
就可以了。