我在Tomcat下运行的网络应用中使用DIGEST身份验证。 我注意到,每隔一段时间它就会要求我重新登录:弹出窗口要求我再次显示用户名和密码。 我该如何防止这种行为?我只想在第一次打开网站时登录。
我注意到在Web浏览器上多次刷新后会发生这种情况。如果没有刷新,那么它不会再次询问我的用户名和密码。我认为只要我不关闭浏览器,默认行为就不会再次要求我进行身份验证。我的理解是否正确?
我不确定它是否有帮助,但我尝试在我的web.xml文件中将session-timeout设置为-1,但它似乎没有帮助。
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
这是完整的web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 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"
version="2.4">
<resource-env-ref>
<description>user db</description>
<resource-env-ref-name>UserDatabase</resource-env-ref-name>
<resource-env-ref-type>org.apache.catalina.UserDatabase</resource-env-ref-type>
</resource-env-ref>
<security-constraint>
<web-resource-collection>
<web-resource-name>user-resource</web-resource-name>
<description>pages which require login</description>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.html</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>Must authenticate before querying the system</description>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>DIGEST</auth-method>
</login-config>
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
</web-app>