我正在尝试以用户身份在 Java 中进行登录。我需要访问 protected 文件夹。 我以管理员身份使用 web.xml 完成了此操作。
<security-constraint>
<web-resource-collection>
<web-resource-name>Seguridad</web-resource-name>
<url-pattern>/protegido/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>admin</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/protegido/admin/login.jsp</form-login-page>
<form-error-page>/protegido/admin/error.jsp</form-error-page>
</form-login-config>
</login-config>
我需要访问 protegido 中名为 usuarioRegistrado 的文件夹。
我对这样做有一些疑问。
我的登录 html 是一个引导模式。
<div class="modal fade" id="inicio">
<div class="modal-dialog">
<div class="modal-content">
<form action="Servlet?submit=LogIn" method="post" class="form-horizontal" >
<div class="modal-header">
<h4 class="centrar">Inicio de Sesión</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="j_username" class="col-sm-2 control-label">Usuario</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="j_username" name="j_username" placeholder="Usuario">
</div>
</div>
<div class="form-group">
<label for="j_password" class="col-sm-2 control-label">Contraseña</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="j_password" name="j_password" placeholder="Contraseña">
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-success" type="submit">Iniciar Sesión</button>
<a href="#" class="btn btn-default" data-dismiss="modal">Cerrar</a>
</div>
</form>
</div>
</div>
</div>
我可以像模态中那样使用 servlet 来执行此操作,还是必须在操作中使用 j_security_check。
如果在这种情况下我必须做第二个,我该如何设置 web.xml
最佳答案
你可以找到一些documentation on the FORM auth-method和 how to build the form correctly在 oracle 文档中。在这种情况下不需要使用 Spring 或任何东西:)
您还必须将 login.jsp
和 error.jsp
放在 protected 路径之外,例如
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
将其放置在映射到“/”(Web 根路径)的 servlet 中。
关于java - 在 Java 中以用户身份登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24025996/