0

すべてのページのヘッダーにログアウトリンクがあり、ユーザーがログアウトリンクにアクセスすると、/j_spring_security_logoutURLにリダイレクトされ、SpringSecurityのログアウトフィルターが起動します。

これが私がしたことです:

<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を使用していますが、現在はナビゲーションルールを使用する必要があるため、上記のコードが機能しないのはなぜですか?

それが機能しないURLをクリックするとき、それを修正する方法をアドバイスしてください。

4

1 に答える 1

2

は、任意の非JSF URLパスではなく、<to-view-id>などの有効なJSFビューIDである必要があります。/page.xhtml

プレーンなHTMLリンクを使用するだけです。

<a href="#{request.contextPath}/j_spring_security_logout">Logout</a>
于 2012-10-07T00:35:44.233 に答える