我正在使用基于表单的身份验证,因此用户必须登录才能查看某些受保护的页面。 这工作正常,但我希望能够在尝试访问任何受保护资源之前登录。当我将表单放在我的index.jsp页面中时,我得到一个"无效的直接引用以形成登录页面"登录时出错。我的问题:是否可以直接从索引页面(或任何其他页面登录,然后重定向到登录页面)?
答案 0 :(得分:1)
如果您使用Tomcat版本7或更高版本,则可以使用。
在此版本中为landingPage
添加了FormAuthenticator
属性,该属性可以从描述中执行您想要的操作:
如果进程被滥用,则控制FORM身份验证过程的行为,例如,通过直接请求登录页面或延迟登录以及>会话过期的方式来控制。如果设置了此属性,而不是返回错误响应代码,则>如果登录表单是使用有效凭据提交的,则Tomcat会将用户重定向到指定的目标网页。
要添加该属性,您必须修改要添加的<Context>
,例如:
<Valve className="org.apache.catalina.authenticator.FormAuthenticator" landingPage="exemple.jsp" />
在安全约束下使用exemple.jsp
。