我在所有页面的标题中都有一个注销链接,我希望当用户点击注销链接时,他会被重定向到/j_spring_security_logout
网址,而这会依次触发Spring安全的注销过滤器。
所以这就是我所做的:
<h:commandLink action="logout?faces-redirect=true" value="Logout"/>
和导航规则:
<navigation-rule>
<navigation-case>
<from-outcome>logout</from-outcome>
<to-view-id>/j_spring_security_logout</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
我正在使用JSF2,我总是使用prettyfaces进行导航,但是现在我必须使用导航规则,所以我想知道为什么上面的代码不起作用?
点击网址时无效,请告知如何解决问题。
答案 0 :(得分:2)
<to-view-id>
必须是有效的JSF视图ID,例如/page.xhtml
,而不是任意非JSF URL路径。
只需使用纯HTML链接。
<a href="#{request.contextPath}/j_spring_security_logout">Logout</a>