我有一个用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"/>
我的服务器xml文件是:
<Context path="/admin" docBase="admin"><Realm className="org.apache.catalina.realm.MemoryRealm"resourceName="AdministrationArea"digest="MD5"/></Context>
我是新手。请帮助。
答案 0 :(得分:0)
问题不在于您的Tomcat配置,而在于HTTP身份验证的工作方式。服务器会要求您的浏览器在每次请求时验证用户名和密码,这就是大多数浏览器至少会保存用户名和密码的原因。
如果您想确保您的webapp安全,您应该考虑添加自己的安全性,包括会话和cookie。如何做到这一点取决于您的具体配置和您正在使用的框架,所以我无法真正帮助您。