Spring boot 使用application.properties配置SpringSecurity 4
我正在尝试将HTTP基本身份验证添加到我的springboot微服务中 当我使用Spring中描述的“代码”方式时,它可以完美地工作:Spring boot 使用application.properties配置SpringSecurity 4,spring-boot,spring-security,configuration,Spring Boot,Spring Security,Configuration,我正在尝试将HTTP基本身份验证添加到我的springboot微服务中 当我使用Spring中描述的“代码”方式时,它可以完美地工作: @RestController public class Ping { @GetMapping("/ping") public String ping() { return "pong"; } } @EnableWebSecurity public class SecurityConfig extends WebS
@RestController
public class Ping
{
@GetMapping("/ping")
public String ping()
{
return "pong";
}
}
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
{
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth)
throws Exception
{
auth.inMemoryAuthentication()
.withUser("user").password("password")
.roles("USER");
}
}
但是,如果我想以不可能的方式使用属性,或者我做错了什么:
security.basic.enabled = true
security.basic.path = /**
security.basic.realm = Spring
security.user.name = user
security.user.password = xxx
security.user.role = USER
security.sessions = always
使用此解决方案,只有资源
http://localhost/env
是安全的,/ping
不是。可以仅使用application.properties
来配置对所有资源的“简单”基本身份验证?security.*变量都在application.properties文件中,对吗?如果是,但仍然无法工作,请尝试删除security.basic.enabled=true
Yes删除此属性解决了一半问题。现在所有的资源都得到了保护,但不是actuator带来的资源,比如“/info”。另一半是什么?它解决了哪一半?我的服务公开的资源现在得到了保护。但是我的服务使用的执行器可以创建“/info”之类的资源。这个不是。是的,谢谢你的回答,问题已经解决了。该问题与执行器有关,如果我想为/info应用安全性,我必须添加endpoints.info.sensitive=true