Spring安全性和登录后JSF重定向不起作用

Spring安全性和登录后JSF重定向不起作用,jsf,spring-security,Jsf,Spring Security,我正在尝试将Spring安全性与我的JSF应用程序集成。 我可以让登录页面显示出来,但成功登录后,受保护的URL不会显示,它会保留在登录页面上 My applicationContext.xml: <security:http auto-config="true" access-denied-page="/login/loginerror.jspx"> <security:intercept-url pattern="/restricted/**" access

我正在尝试将Spring安全性与我的JSF应用程序集成。 我可以让登录页面显示出来,但成功登录后,受保护的URL不会显示,它会保留在登录页面上

My applicationContext.xml:

    <security:http auto-config="true" access-denied-page="/login/loginerror.jspx">
    <security:intercept-url pattern="/restricted/**" access="ROLE_SU"/>
    <security:form-login login-page="/login/login.jspx"
                         default-target-url="/restricted/equipment.jspx"/>
    <security:logout logout-success-url="/logoutSuccess.jspx"/>
</security:http>

<security:authentication-provider user-service-ref="userDetailsService"/>

<bean id="userDetailsService" class="com.teach.security.UserDetailsServiceImpl">
    <property name="rolesDao" ref="RolesDAO"/>
</bean>

我的Java控制台确认成功登录,它显示“登录成功”

只是为了确保,您使用的不是AJAX提交,而是标准HTML表单提交,对吗?

您确定登录成功吗? 线路应为:

FacesContext.getCurrentInstance().getExternalContext().redirect("/j_spring_security_check?j_username=" + userId + "&j_password=" + password);

能否将日志记录级别设置为调试并发布日志?在那里我们可以看到初始身份验证,然后是重定向和授权。我总是发现日志在这种情况下非常有用。
FacesContext.getCurrentInstance().getExternalContext().redirect("/j_spring_security_check?j_username=" + userId + "&j_password=" + password);