簡體   English   中英

Spring Security登錄表單始終重定向到authfailed

[英]Spring security login form always redirect to authfailed

我正在嘗試將Spring Security應用於登錄表單。 這是登錄表單:

<form:form action="j_spring_security_check" method="post" modelAttribute="userLogin">
<p>UserName: </p> <form:input type="text" path="name" />
<p>Password: </p> <form:input type="password" path="password" /><br>
<input type="submit" value="Sign In">
</form:form>

這是Spring Security xml

<http auto-config="true">
    <access-denied-handler />
    <intercept-url pattern="/user**" access="ROLE_USER" />
    <intercept-url pattern="/admin**" access="ROLE_ADMIN" />
    <form-login login-page='/login' username-parameter="username"
        password-parameter="password" default-target-url="/mainPage"
        authentication-failure-url="/login?authfailed" />
    <logout logout-success-url="/login?logout" />
</http>
<authentication-manager> <authentication-provider> <user-service> <user 
        name="user" password="user@123" authorities="ROLE_ADMIN" /> </user-service> 
        </authentication-provider> </authentication-manager>

當我提交表單時,即使我輸入了正確的用戶名和密碼,它也會重定向到url'http:// localhost:8080 / SecurityTest / login?authfailed '。

嘗試

<spring:url value="/j_spring_security_check" var="action" />

<form:form action="${action}" method="post" modelAttribute="userLogin">

我找到了答案,問題出在form:input標簽形式的path變量中。 它應該被命名為username ,而我是它命名name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM