如何配置Spring security 4和JSF

时间:2017-09-21 10:20:36

标签: spring spring-security jsf-2

我正在尝试设置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。

0 个答案:

没有答案