[英]Confusion in form based authentication in java
谁能告诉我,如何处理Java中基于表单的身份验证中的j_security_check servlet?
是否必须在web-xml文件中使用j_security_check名称映射servlet类,例如:
<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>
如果输入用户名和密码,然后单击Submit ,那么具有j_security_check名称的servlet将如何处理这些信息? 该servlet将如何验证那些输入的用户名和密码,并获取资源(如果进行身份验证,然后授权成功),否则将显示错误页面。 j_security_check 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 Specification 。
您不需要将j_security_check映射到任何内容。 这由应用服务器管理。
但是,您不需要添加用户名。 角色和领域信息。
每个应用程序服务器都有自己的身份验证信息的方式。
看到这个-
1) http://www.student.nada.kth.se/~d95-cro/j2eetutorial14/doc/Security5.html#wp303355和
2) http://docs.sun.com/app/docs/doc/819-3669/bncby?a=view
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.