我有一些存储在Vault中的数据库凭证。
在Hibernate init之前,我如何获取/使用Hibernate的凭证?Spring Vault和休眠凭证
0
A
回答
1
有我的解决方案。
public class DatabaseCredentialsLogic {
private String vaultSecretPath;
private VaultTemplate vaultTemplate;
private DatabaseCredentials databaseCredentials;
@Autowired
public DatabaseCredentialsLogic(VaultTemplate vaultTemplate, Environment env) {
this.vaultTemplate = vaultTemplate;
vaultSecretPath = env.getProperty("vault.secret.path");
}
public void init() {
VaultResponseSupport<DatabaseCredentials> response =
vaultTemplate.read(vaultSecretPath, DatabaseCredentials.class);
databaseCredentials = response.getData();
}
public String getUrl() {
return databaseCredentials.getUrl();
}
// Getters login & password
}
,只用于在上下文中春表达式语言
<context:component-scan base-package="my.package" />
<bean id="databaseCredentials" class="my.package.DatabaseCredentialsLogic" init-method="init"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="#{databaseCredentials.url}" />
<property name="username" value="#{databaseCredentials.login}" />
<property name="password" value="#{databaseCredentials.password}" />
</bean>
1
您宁愿为您的数据源提供证书而不是Hibernate。没有集成将凭证注入到persistence.xml
配置中。
根据您的应用程序和设置你要么采取@StanislavL建议的路线。
如果你的应用程序是基于Spring Boot的,那么看看Spring Cloud Vault MySQL example。它为你配置spring.datasource.username
和spring.datasource.password
,所以你不需要任何额外的设置。
相关问题
- 1. 休眠验证和Spring 3.x
- 2. Spring JPA休眠和AttributeConverter
- 3. 使用Spring和休眠/ JPA
- 4. Struts1与Spring和休眠
- 5. Spring,JPA和休眠问题
- 6. 休眠验证
- 7. JSP,Servlets,Spring,休眠
- 8. Spring MVC + ComboPooledDataSource(休眠)
- 9. Spring JPA休眠OneToOne
- 10. Spring ORM或休眠
- 11. 休眠Spring集成
- 12. 休眠和身份证
- 13. Spring Vault和Spring云配置与Vault后端的区别
- 14. 春季休眠验证@RequestBody
- 15. JSF /休眠NotBlank验证
- 16. Spring数据和休眠 - 模型验证 - 异常转换
- 17. Spring MVC和JSR-303休眠条件验证
- 18. 删除休眠相关对象和Spring
- 19. Spring和休眠:无法删除条目
- 20. 休眠OneToOne使用Spring和JSP
- 21. Spring和休眠,懒惰启动问题
- 22. 如何集成Spring,JSF和休眠
- 23. NoSuchBeanDefinitionException当使用Spring和休眠时
- 24. NoSuchMethodError:registerAutoProxyCreatorIfNecessary与Spring 4,休眠4和Maven 3
- 25. 关于Java EE,Spring和休眠
- 26. 单独的spring bean和休眠bean
- 27. 休眠验证器
- 28. Spring与休眠的IDE
- 29. 没有休眠的Spring JPA
- 30. Spring Batch的休眠CursorItemReader
这取决于你如何初始化的休眠。至于我可以看到Vault作为属性存储工具,所以您只需添加'@Value(“$ {password}”)字符串密码;'并使用密码初始化hibernate。 – StanislavL