[英]Spring boot REST api ConstraintViolationException on password field
[英]Spring Rest API : Password encoding
该项目基于Spring-4构建,并具有用于SMTP连接和MySql数据库的bean。 但是,这些配置与可读密码一起位于XML文件中。 有没有关于在Spring XML中没有可读密码的建议?
我尝试搜索多个博客和站点,但没有找到明确的答案,如果可以帮助,请多多关照。
您可以将编码后的密码放入配置文件中,然后将解码后的密码放入自定义DataSource
。 以下是想法:
1.对密码进行编码并将其放入配置文件中:
您可以使用任何算法对其进行编码或通过加密对其进行保护。 例如,使用Base64将密码“ myPassword”编码为“ bXlQYXNzd29yZA ==“,然后放入配置文件中:
<property name="password"><value>bXlQYXNzd29yZA==</value></property>
2.实现自定义DataSource
并以相应的方法解密/解密密码。 以下是扩展org.apache.commons.dbcp.BasicDataSource
的示例:
public class CustomDataSource extends BasicDataSource{
public void setPassword(String encodedPassword){
this.password = decodePassword(encodedPassword);
}
private String decodePassword(String encodedPassword) {
// decode or decrypt the encodedPassowrd
return decodedPassword;
}
}
3.在配置中使用自定义DataSource
:
<bean id="dataSource" class="CustomDataSource">
<!-- other properties like driverClassName, url, username, etc. -->
<property name="password"><value>bXlQYXNzd29yZA==</value></property>
</bean>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.