我正在尝试设置Spring安全性4.1和JSF 2(使用primefaces 6.0,但这似乎并不相关)。 我的问题是,当我测试我的login.xhtml页面并且我引入了错误的用户名和密码时,重新加载了login.xhtml,这是正确的,但是当我输入正确的用户名和密码时,它是相同的。
我可以在post方法中看到这两个参数,这些数据是正确发送的,但是对于spring安全性是不正确的。
这是我的配置spring-security-config:
<http auto-config='true' use-expressions="true">
<intercept-url pattern="/xhtml/frob/index.xhtml" access="hasRole('ROLE_USER')" />
<intercept-url pattern="/xhtml/frob/**" access="hasRole('ROLE_USER')" />
<form-login login-page = "/login.xhtml" username-parameter="j_username"
password-parameter="j_password"
login-processing-url="/j_spring_security_check"
authentication-failure-url="/login?login_error=1"/>
<csrf disabled="true"/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user" password="user" authorities="ROLE_USER" />
<user name="user2" password="user" authorities="ROLE_USER2" />
</user-service>
</authentication-provider>
</authentication-manager>
这是login.xhtml:
<h:form id="login" action="/login.xhtml" method="POST">
<h:outputLabel for="username" value="loginUser" />
<h:inputText value="user" tabindex="1" id="username"/>
<h:outputLabel value="Password" for="password" />
<h:password value="pass" size="14" tabindex="2" id="password"/>
<h:commandButton outcome="#{controlBean.next}" tabindex="3" value="Send"/>
</h:form>
我需要一些帮助,我正在使用Spring security 4.1。