我有一些存儲在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. Spring,JPA和休眠問題
- 5. Spring,休眠,C3P0和碼頭
- 6. Struts1與Spring和休眠
- 7. Spring MVC +休眠
- 8. 休眠驗證
- 9. Spring的ORM(休眠)與休眠
- 10. Spring 3.0驗證而不休眠
- 11. Spring JPA休眠ManyToMany
- 12. Spring MVC + ComboPooledDataSource(休眠)
- 13. Spring JPA休眠OneToOne
- 14. 休眠Spring集成
- 15. Spring框架 - 休眠
- 16. JSP,Servlets,Spring,休眠
- 17. Spring ORM或休眠
- 18. 休眠和身份證
- 19. Spring Vault和Spring雲配置與Vault後端的區別
- 20. 春季休眠驗證@RequestBody
- 21. JSF /休眠NotBlank驗證
- 22. Spring數據和休眠 - 模型驗證 - 異常轉換
- 23. Spring MVC和JSR-303休眠條件驗證
- 24. Spring MVC的3.1與4.3休眠驗證和錯誤
- 25. Spring Boot休眠5忽略@Table和@Column
- 26. Spring和休眠,懶惰啓動問題
- 27. Spring和休眠:無法刪除條目
- 28. NoSuchMethodError:registerAutoProxyCreatorIfNecessary與Spring 4,休眠4和Maven 3
- 29. 休眠OneToOne使用Spring和JSP
- 30. 刪除休眠相關對象和Spring
這取決於你如何初始化的休眠。至於我可以看到Vault作爲屬性存儲工具,所以您只需添加'@Value(「$ {password}」)字符串密碼;'並使用密碼初始化hibernate。 – StanislavL