Tomcat 8 DIGEST身份验证不断要求输入密码

时间:2015-04-14 14:32:02

标签: java xml tomcat

我有一个用java编写的Web应用程序,我想保护位于WebContet文件夹内的admin文件夹内的所有内容。问题是服务器不断要求输入用户名和密码。我的web.xml是:

<security-constraint>
<web-resource-collection>
<web-resource-name>Admin Constraint</web-resource-name>
<url-pattern>/admin/index.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
    <role-name>administration</role-name>
</auth-constraint>
</security-constraint>
<login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>AdministrationArea</realm-name>
</login-config>

我的用户xml文件是

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="administration"/>
<user username="admin" password="admin" roles="administration,tomcat"/>
<user username="tomcat" password="tomcat" roles="admin-gui,manager-gui"/>

我的服务器x​​ml文件是:

<Context path="/admin" docBase="admin"><Realm  className="org.apache.catalina.realm.MemoryRealm"resourceName="AdministrationArea"digest="MD5"/></Context>

我是新手。请帮助。

1 个答案:

答案 0 :(得分:0)

问题不在于您的Tomcat配置,而在于HTTP身份验证的工作方式。服务器会要求您的浏览器在每次请求时验证用户名和密码,这就是大多数浏览器至少会保存用户名和密码的原因。

如果您想确保您的webapp安全,您应该考虑添加自己的安全性,包括会话和cookie。如何做到这一点取决于您的具体配置和您正在使用的框架,所以我无法真正帮助您。