gpt4 book ai didi

java - spring security 更改 spring_security_login 表单

转载 作者:行者123 更新时间:2023-11-30 06:37:41 24 4
gpt4 key购买 nike

我正在使用 spring security,我想知道如何更改默认登录表单

我发现我需要指向我的新表单位置。我想保留具有所有登录异常显示的现有默认表单的现有功能。所以我必须先知道如何重现它。

在我的研究中我遇到了它

http://www.codercorp.com/blog/spring/security-spring/spring-security-login-logout-form.html

感谢他的代码

<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>
<%@ page import="org.springframework.security.ui.AbstractProcessingFilter" %>
<%@ page import="org.springframework.security.ui.webapp.AuthenticationProcessingFilter" %>
<%@ page import="org.springframework.security.AuthenticationException" %>

<html>
<head>
<title>Login</title>
</head>

<body>
<h1>Login</h1>

<c:if test="${not empty param.login_error}">
<font color="red">
Your login attempt was not successful, try again.<br/><br/>
Reason: <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/>.
</font>
</c:if>

<form name="f" action="<c:url value='j_spring_security_check'/>" method="POST">
<table>
<tr><td>User:</td><td><input type='text' name='j_username' value='<c:if test="${not empty param.login_error}"><c:out value="${SPRING_SECURITY_LAST_USERNAME}"/></c:if>'/></td></tr>
<tr><td>Password:</td><td><input type='password' name='j_password'></td></tr>
<tr><td><input type="checkbox" name="_spring_security_remember_me"></td><td>Don't ask for my password for two weeks</td></tr>

<tr><td colspan='2'><input name="submit" type="submit"></td></tr>
<tr><td colspan='2'><input name="reset" type="reset"></td></tr>
</table>
</form>
</body>
</html>

但代码似乎不适用于 spring security 3。一些库已经过时,我将它们一一替换。我将它们更改为下面的

<%@ page import="org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter" %>
<%@ page import="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter" %>
<%@ page import="org.springframework.security.core.AuthenticationException" %>

但是还是拒绝报登录错误。我还应该尝试什么?

最佳答案

当您使用自定义登录页面时,Spring Security 不会自动指定您的登录页面是由于登录错误而显示的。您应该手动执行此操作,通常是通过向 authentication-failure-url 添加一个参数,您的代码需要一个名为 login_error 的参数:

<form-login 
login-page="/login.htm"
authentication-failure-url = "/login.htm?login_error=1" />

关于java - spring security 更改 spring_security_login 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com