我正在将 Spring 安全性添加到内部网站。我被要求将身份验证绑定到 tomcat-users.xml,以便我们可以减少要更改/记住的密码数量。
从我已经能够谷歌起来,这不是很简单,如果可能的话。
目前一切正常,在 springSecurity.xml 中硬编码了用户 + 角色。
我正在将 Spring 安全性添加到内部网站。我被要求将身份验证绑定到 tomcat-users.xml,以便我们可以减少要更改/记住的密码数量。
从我已经能够谷歌起来,这不是很简单,如果可能的话。
目前一切正常,在 springSecurity.xml 中硬编码了用户 + 角色。
您可以将容器安全性视为预先验证的场景。
代码库中有一个使用这种方法的示例应用程序。它使用显式 bean 配置,但也有可用的<jee>
命名空间元素。
正如 Luke 所指出的,这可以作为预身份验证方案来完成,但我不建议使用该选项。当您使用 tomcat xml 文件时,您使用的是 MemoryRealm,但您可以切换到 JDBCRealm 并将两个用户(Spring 和 Tomcat)都存储在数据库中。我建议这样做是为了维护、一致性和安全性。如果您更改您的 servlet 容器,您将不得不迁移您的安全用户和角色。
https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html#MemoryRealm