Jakarta ee Tomcat表单身份验证:从索引页而不是登录页登录

Jakarta ee Tomcat表单身份验证:从索引页而不是登录页登录,jakarta-ee,tomcat,Jakarta Ee,Tomcat,我使用基于表单的身份验证,因此用户必须登录才能查看某些受保护的页面。 这工作正常,但我希望能够在尝试访问任何受保护的资源之前登录。当我将表单放入index.jsp页面时,登录时会出现“表单登录页面的直接引用无效”错误。我的问题:在重定向到登录页面之前,是否可以直接从索引页面(或任何其他页面)登录?如果您使用Tomcat版本7或更高版本,这是可能的 在该版本中,向FormAuthenticator添加了一个landingPage属性,该属性可以根据描述执行以下操作: 如果表单身份验证过程被误用,则

我使用基于表单的身份验证,因此用户必须登录才能查看某些受保护的页面。
这工作正常,但我希望能够在尝试访问任何受保护的资源之前登录。当我将表单放入index.jsp页面时,登录时会出现“表单登录页面的直接引用无效”错误。我的问题:在重定向到登录页面之前,是否可以直接从索引页面(或任何其他页面)登录?

如果您使用Tomcat版本7或更高版本,这是可能的

在该版本中,向
FormAuthenticator
添加了一个
landingPage
属性,该属性可以根据描述执行以下操作:

如果表单身份验证过程被误用,则控制该过程的行为,例如,通过直接请求登录页面或延迟登录很长时间以使>会话过期。如果设置了此属性,而不是返回错误响应代码,则如果登录表单>提交了有效凭据,则>Tomcat会将用户重定向到指定的登录页

要添加该属性,您必须修改
以添加,例如:

<Valve className="org.apache.catalina.authenticator.FormAuthenticator" landingPage="exemple.jsp" />


在安全约束下使用
example.jsp

人们倾向于最喜欢的登录页面,所以这很好,奇怪的是它只在Tomcat7中引入。。。