我正在创建一个 Spring MVC 应用程序,它是一个 SOAP 客户端。为了与 SOAP Web 服务通信,我想传递登录凭据。我的应用程序不需要动态存储任何详细信息,因此我没有为此应用程序使用任何数据库。因此,请建议一种推荐的做法来存储我的应用程序的敏感凭据。该凭证将由系统管理员管理,并且必须易于他根据要求进行更改。
提前致谢。
我正在创建一个 Spring MVC 应用程序,它是一个 SOAP 客户端。为了与 SOAP Web 服务通信,我想传递登录凭据。我的应用程序不需要动态存储任何详细信息,因此我没有为此应用程序使用任何数据库。因此,请建议一种推荐的做法来存储我的应用程序的敏感凭据。该凭证将由系统管理员管理,并且必须易于他根据要求进行更改。
提前致谢。
将用户名和密码存储在 webapp spring 上下文外部的属性文件中。这样,系统管理员可以轻松地将属性文件的读取权限锁定给相关方(例如您的应用程序和他自己)。那应该停止窥探看到密码。
在您的春季环境中,有类似的东西:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<list>
<value>/path/to/config.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
<bean id="myBean" class="...">
<property name="username" value="{usernameFromExternalPropFile}" />
<property name="password" value="{passwordFromExternalPropFile}" />
</bean>
然后,系统管理员还可以独立于构建更改用户名/密码。
最简单的选择是将它们存储在您的应用程序上下文 XML 配置文件中,作为与 SOAP Web 服务通信的 bean 的属性。