我有以下春季安全代码,但它不起作用。当我打开登录页面并输入[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