【发布时间】:2014-10-31 10:59:39
【问题描述】:
我有一个使用 Apache 作为 Tomcat 前端的 Java Web 应用程序。 我在 web.xml 文件中有基本的身份验证配置
<security-constraint>
<web-resource-collection>
<web-resource-name>
</web-resource-name>
<url-pattern>/secure/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
现在我想在 apache 上设置这个配置
我在 C:\Program Files (x86)\Apache2\conf 目录中创建了用户文件并添加了用户名/密码。
我在 httpd.conf 文件中添加了这一行
<Location "/secure/*">
AuthUserFile conf/users
AuthName "This is a protected area"
AuthType Basic
Require valid-user
</Location>
当我使用浏览器http://example.com/app/secure 打开应用程序时,它不会提示进行身份验证。什么剂量错了?
【问题讨论】:
-
(a) 您是否使用 apache passwd 实用程序创建了用户文件? (b) 您是否重新启动了 apache 或向其发出信号以重新加载其配置? (c) 你有运行在这个 apache 上的虚拟服务器吗?
-
是的,我使用 passwd 实用程序,然后重新启动 apache。我没有虚拟服务器