我需要在 Struts 1.3.10 + Tomcat 中进行基于表单的身份验证。
根据我的理解,一旦提交登录凭据,容器将与
tomcat-users.xml
交叉检查凭据,并基于此转发到
成功页面或错误页面。
登录.jsp
<form action="j_security_check" method="post">
<input type="text" name="j_username"/>
<input type="password" name="j_password"/>
<input type="submit"/>
</form>
web.xml
<login-config>
<form-login-check>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-check>
</login-config>
问题:
如果提供了有效的凭据,服务器如何进入成功页面? 因为在
login.jsp
行动中,我给出了 j_security_check
,而不是转发到成功页面的正常行动。
认证是由服务器提供的,所以你不应该关心服务器是如何做的。请求的资源 URL 被服务器存储在某处,然后引导您进入登录页面,如果登录成功,则返回请求的资源。
当用户提交其名称和密码时,服务器会确定该用户名和密码是否是授权用户的用户名和密码,如果经过授权,则发送所请求的 Web 资源。如果身份验证主题对您来说是新的,请参阅指定身份验证机制部分。