2015-12-17 69 views
0

请问我们如何在JNDI配置中提供加密密码,以及我们如何在SPRING中对密码进行解密。在春天,我们如何在春季给JNDI加密密码

我看到,我们必须配置使用

<bean id="DatabaseName" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="java:comp/env/jdbc/DatabaseName"/> 
</bean> 

的数据源,但我们能覆盖&在此解密密码,请你帮我

感谢 维韦克

回答

0

你的问题真的与Spring没有多大关系 - 它更像是“如何隐藏数据库密码”。 最好的方法之一是从J2EE控制台手动创建数据源。 Weblogic和IBM Websphere支持这一点,并自动对密码进行模糊处理。您的程序然后要求容器进行数据库连接,并且不需要提供密码。 (有一个假设,如果您有服务器的部署权限,则可以自由连接到服务器的数据源)。

Tomcat有点问题。数据源将在../conf/context.xml中指定,并且密码将以明文形式显示。您需要使用Unix文件权限来阻止那些不应该知道密码的人。

这个答案How to hide database password in config file表明这是一个不平凡的问题。

+0

谢谢您的回复。但是如果假设,我已经在jboss配置文件中给了一个加密的密码,我怎么可以将它连接到Spring的数据库,因为我必须解密它。你能不能给我一个关于这个的想法。在此先感谢 – user2907217

+0

啊,我看到了问题。我认为你需要JBoss秘密密钥,而且这不可能是公共知识:)你能不能从数据库管理员处获得纯文本证书并按建议创建数据源? – kiwiron

+0

是的,我不能公开密码,所以如果我使用上面的jndi配置,我如何在春天解密它,谢谢 – user2907217