我正在尝试使用Spring Cloud Config Server对配置值进行加密/解密。
为此,在Config Server项目下进行了以下更改:
在 bootstrap.properties
中encrypt.key=abcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh
我还在Ubuntu 18.04计算机上使用以下命令更新了JCE:
sudo apt install oracle-java8-unlimited-jce-policy
但是在发出POST请求后,我什么都没看到响应。
理想情况下,请求主体的加密文本应作为响应来显示。
示例项目:https://github.com/Omkar-Shetkar/pluralsight-springcloud-m2-git
这里可能缺少什么?
谢谢。
答案 0 :(得分:0)
实际上是CSRF所致,正在收到401未经授权的回复。从Spring Boot 2.0开始,我们可以在代码中禁用它。
可在此处找到详细答案: spring config server encrypt forbidden
按照上述步骤解决了该问题。
答案 1 :(得分:0)
就在那里,如果有人坚持我的愚蠢错误,即使做了上述所有事情,如果 /encrypt 端点仍然没有被授权。
请检查您的安全适配器类。如果您也覆盖了以下方法
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user")
.password(passwordEncoder().encode(userPassword))
.roles("USER")
.and()
.withUser("admin")
.password(passwordEncoder().encode(adminPassword))
.roles("USER", "ADMIN");
}
您需要在“授权”选项卡的“基本身份验证”选项下提供这些凭据