如何维护Tomcat的用户基本认证?
在网上搜索了一段时间后,除了打开 tomcat-users.xml
并手动编辑它之外,我找不到在 JSP 脚本中编辑用户的好方法。这不仅是一个安全漏洞,因为我必须向 www 用户授予 tomcat-users.xml
的权限,而且我必须重新启动 Tomcat 才能看到任何效果,从而使任何更改变得毫无用处。
由于部署完全是内部的,因此我不会完全反对通过 JSP 手动编辑 tomcat-users.xml
。通过 .htaccess
包装器编辑 Apache 是不可能的(这是我最初的解决方案),因为应用程序的一部分显然取决于 Tomcat 登录。
Tomcat固有的有没有更好的方法来维护用户?我使用的是Tomcat 6.0。
After searching online for quite some time, I cannot find a good way to edit users from within a JSP script besides opening tomcat-users.xml
and manually editing it. Not only is this a security vulnerability because I have to give the www user permissions to tomcat-users.xml
, but I have to restart Tomcat to see any effect, rendering any changes useless.
Since the deployment is entirely internal, I wouldn't be entirely against manually editing tomcat-users.xml
via the JSP. Editing Apache via an .htaccess
wrapper is out of the question (this was my original solution), as part of the application apparently depends on the Tomcat login.
Are there any better methods inherent to Tomcat to maintain users? I am using Tomcat 6.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将它们存储在关系数据库服务器中。阅读 JDBCRealm 章节 ="http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html" rel="nofollow noreferrer">Tomcat Realm Howto 如何设置基于数据库领域而不是基于文件的领域(这是确实是默认领域)。
这样您就可以自由地通过 JDBC、JPA 或 Hibernate 等管理数据库中的用户表。请注意,这项工作应该(间接)由 Servlet 完成,而不是由 JSP 完成。
Store them in a relational database server instead. Read on the JDBCRealm chapter of the Tomcat Realm Howto how to setup a database based realm instead of a file based realm (which is indeed the default realm).
This way you've all the freedom to manage the users table in the database by JDBC, JPA or Hibernate, etcetera. Please note that this job is supposed to be (indirectly) done by a Servlet, not a JSP.