尝试进行简单的spring boot安全测试。 我只能通过不推荐使用的NoOpPasswordEncoder传递测试 SpringSecurityConfig中的globalConfigure()方法。
它工作正常,但是可以摆脱弃用的NoOpPasswordEncoder吗?
class A(object):
def __init__(self):
self.my_var = 7
答案 0 :(得分:0)
这取决于你想要做什么。如果您只是希望测试通过并取消弃用,则可以删除密码编码器并在{noop}
方法中为密码添加configureGlobal
前缀:
@Autowired
public void configureGlobal(AuthenticationManagerBuilder authBuilder) throws Exception {
authBuilder.inMemoryAuthentication()
.withUser("user").password("{noop}user").roles("USER")
.and()
.withUser("admin").password("{noop}admin").roles("USER", "ADMIN");
}
Spring Security 5将默认密码编码器更改为Delegating Password Encoder,它使用花括号中的前缀来确定要使用的密码编码器,s。 https://docs.spring.io/spring-security/site/docs/5.0.5.RELEASE/reference/htmlsingle/#pe-dpe-format
但是,如果你想在生产中使用这个安全配置,你应该使用不同的编码器。