我们的团队继承了一个使用Tomcat和Maven的基于Java的Web服务项目。我们正在研究如何以一种适合我们的方式设置凭据和权限。但是,我们的基础架构团队无法将这些凭据放入任何类型的 user.properties 文件中。因此,我们考虑了将它们放在 security.xml 中。以下是到目前为止有效的粗略示例:
security.xml
<beans:beans>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="USER-PROD" password="ProdPassword" authorities="BLAH,BLAHBLAH,BLAHBLAHBLAH"/>
<user name="USER-TEST" password="TestPassword" authorities="BLAH,BLAHBLAH,BLAHBLAHBLAH"/>
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
我们正计划从 security.xml 中的硬编码用户名/密码/权限更改为 catalina.properties 中的引用值。这似乎更理想,因为使用开发和生产凭证提交 security.xml 意味着通常只具有在我们的开发环境上工作权限的任何人都可能会发现他们对生产具有相同的权限。环境。
我们已经尝试使用 security.xml 和 catalina.properties 进行以下布局,但是占位符似乎没有填写。相反,凭据是实际上是$ {USER-NAME}和$ {USER-PASSWORD}。
security.xml
<beans:beans>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="${USER-NAME}" password="${USER-PASSWORD}" authorities="${USER-AUTHORITIES}"/>
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
catalina.properties
USER-NAME=USER-PROD
USER-PASSWORD=ProdPassword
USER-AUTHORITIES=BLAH,BLAHBLAH,BLAHBLAHBLAH