4

有什么方法可以加密应用程序上下文条目,例如:

<bean id="securityDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.0.1/schemaname?useUnicode=true&amp;characterEncoding=utf-8"/>
    <property name="username" value="{this should be encrypted}"/>
    <property name="password" value="{this should be encrypted}"/>     
</bean> 

我想要做的是加密用户名和密码。

4

3 回答 3

4

您将需要使用 propertyPlaceHolder 将属性外部化。完成后,您可以使用支持加密的Jasypt版本的属性占位符。

于 2011-10-04T08:11:16.657 回答
3

据我所知,没有加密。


但是您可以将属性或应用程序服务器上下文中的完整数据源外部化。

于 2011-10-04T07:30:29.203 回答
0

您可以改为创建 jndi 连接。例如,在 tomcat context.xml 中添加。这样您就不会在应用程序或属性文件中存储任何信息。当然,您必须将权限设置为 context.xml ...

<Resource name="jdbc/[YourDatabaseName]" 
              auth="Container"
              type="javax.sql.DataSource" 
              username="[DatabaseUsername]" 
              password="[DatabasePassword]"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://[yourserver]:3306/[yourapplication]"
              maxActive="15" 
              maxIdle="3"/>
于 2011-10-04T08:21:35.320 回答