我正在尝试在tomcat服务器端添加安全约束,以实现整个应用程序的用户名和密码。因此,每次调用url时,安全性约束都会在访问之前进行身份验证。我们不希望像现在这样公开信息。
所以这就是我目前在WEB-INF / web.xml文件中的内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="tomcat-demo" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Wildcard means whole app requires authentication</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
</auth-constraint>
<user-data-constraint>
<!-- transport-guarantee can be CONFIDENTIAL, INTEGRAL, or NONE -->
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>
现在,根据我的理解,我需要创建一个tomcat-users.xml。所以我也这样做了。这是代码的样子:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<tomcat-users>
<role rolename="tomcat" />
<role rolename="role1" />
<user username="tomcat" password="tomcat" roles="tomcat" />
<user username="both" password="tomcat" roles="tomcat,role1" />
<user username="role1" password="tomcat" roles="role1" />
</tomcat-users>
现在我在这里非常困惑。我把tomcat-users.xml文件放在哪里?阅读aws文档,我需要&#34;扩展扩展Elastic Beanstalk的默认Apache配置。&#34; http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html#java-tomcat-proxy-apache
说实话,我不知道如何准确地实现AWS文档的要求。所以AWS doc说要创建这样的目录:
~/workspace/my-app/
|-- .ebextensions
| `-- httpd
| `-- conf.d
| `-- myconf.conf
`-- index.jsp
Eclipse neon,Mac OSX也不会让我创建一个带点的目录。那么有人可以帮助澄清tomcat-users.xml文件应该存在的位置,以便web.xml文件可以正确查看和使用它吗?或者也许更好地澄清我的问题是我的想法对吗?我是否应该考虑将tomcat-users.xml放入像AWS建议的.ebextensions目录中?
非常感谢任何帮助。谢谢!