首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何安全地外部化Spring Application Context使用的用户名和密码

如何安全地外部化Spring Application Context使用的用户名和密码
EN

Stack Overflow用户
提问于 2017-02-01 20:30:15
回答 1查看 911关注 0票数 2

我需要安全地外部化一些集成测试使用的Spring应用程序上下文的用户名和密码(对于我的应用程序本身,我使用JNDI)。

想法是这样的:

application.properties应用程序/

那么我的spring应用程序上下文数据源bean将如下所示:

代码语言:javascript
运行
复制
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost/my_database" />
    <property name="username" value="${application.username}" />
    <property name="password" value="${application.password}" />
    <property name="initialSize" value="3" />
    <property name="maxActive" value="10" />
  </bean>

诀窍在于,在.properties文件中,密码也必须加密。

我甚至不知道这是否可能,但也许有人有了一个想法?

杰森

EN

回答 1

Stack Overflow用户

发布于 2017-02-01 22:06:36

以编程方式而不是在XML中定义数据源,或者如果您正在使用Spring Boot,则通过application.yaml中的配置来定义数据源

无论采用哪种方式,都可以将用户和密码指定为Spring Environment属性,并从Spring Cloud Config服务器填充属性,该服务器支持敏感属性的完全加密和解密。

请参阅here

或者,如果您使用的是应用程序服务器,请使用JNDI数据源,并让应用程序服务器处理数据源密码的安全性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41979882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档