谁能告诉我,我该如何处理j_安全检查java中基于表单的身份验证中的servlet?
我是否必须映射 servlet 类j_安全检查web-xml 文件中的名称,例如:
<servlet>
<servlet-name>Anyname</servlet-name>
<servlet-class>Anyclass</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>Anyname</servlet-name>
<url-pattern>/j_security_check</url-pattern>
</servlet-mapping>
如果我输入用户名和密码,然后单击提交,那么servlet将如何使用j_安全检查name 将处理这些信息?该servlet将如何验证输入的用户名和密码,并获取资源,如果身份验证,则授权成功,否则错误页面。怎么会j_安全检查servlet 会这样做吗?
这个想法是,您编写一个 JSP 或 Servlet,呈现一个包含以下字段和操作的表单:
<form action="j_security_check" method="post">
<input type="text" name="j_username"/>
<input type="password" name="j_password"/>
<input type="submit"/>
</form>
提交表单后,Servlet 容器会使用您定义的机制(例如 JAAS)检查您的凭据。在 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>
这允许容器找到包含您的表单或错误处理代码的 JSP 或 Servlet。如果您还没有读过,我建议您阅读Servlet 规范 http://jcp.org/aboutJava/communityprocess/mrel/jsr154/index2.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)