我有以下春季安全代碼,但它不起作用。當我打開登錄頁面並輸入[email protected]/secret的用戶名/密碼時,將顯示以下錯誤消息。一旦輸入用戶名/密碼後,將被添加到地址?error=1
,即使我手動刪除並刷新頁面消息不會。控制檯中沒有任何顯示。甚至在提交表格之前,Spring-security顯示'Bad Credentials'
Your login attempt was not successful due to
Bad credentials.
彈簧security.xml文件
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<beans:import resource='login-service.xml' />
<http auto-config="true" access-denied-page="/notFound.jsp"
use-expressions="true">
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/member**" access="hasRole('ROLE_MEMBER')" />
<form-login login-page="/signin" default-target-url="/index"
authentication-failure-url="/signin?error=1" />
<logout logout-success-url="/login?logout" />
<csrf />
</http>
<authentication-manager>
<authentication-provider>
<user-service> <user name="[email protected]" password="secret"
authorities="ROLE_ADMIN"/>
<user name="[email protected]" password="secret" authorities="ROLE_USER"/>
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
形式有以下代碼,好像SPRING_SECURITY_LAST_EXCEPTION
不是空的,甚至在提交表單前。
<c:if test="${not empty SPRING_SECURITY_LAST_EXCEPTION}">
<font color="red"> Your login attempt was not successful due
to <br />
<br /> <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}" />.
</font>
</c:if>
<form id="form-login" role="form" method="post"
action="<c:url value='/j_spring_security_check' />"
class="relative form form-default">
<input type="hidden" name="${_csrf.parameterName}"
value="${_csrf.token}" />
我不知道爲什麼,但下面的錯誤相同的代碼返回現在
Your login attempt was not successful due to
Authentication method not supported: GET.
我注意到,你的拒絕訪問頁面是'/ notFound.jsp' - 所以,你真的確定你有一個禁止訪問的問題,而不是資源未找到,問題嗎? – Ralph
@Ralph我不確定,它顯示錯誤消息的頁面。我不知道是什麼問題 –
首先創建否認頁面的獨立訪問,然後你就可以在'彈簧安全配置它們:http'標籤 – Ralph