1

私の次のフィルターマッピングを検討してくださいweb.xml

<filter-mapping>
    <filter-name>rememberMeCookieFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>mustBeSignedInFilter</filter-name>
    <url-pattern>/private/*</url-pattern>
</filter-mapping>

私が行ったテストから理解できる限り、に行くと/private/account.jsp、mustBeSignedInFilterが常に最初に実行されます(私が読むことができたものから、パスがより具体的であるためです)。最初にrememberMeCookieFilterを実行する必要があります。

それ、どうやったら出来るの?

4

1 に答える 1

1

フィルタマッピングとサーブレットマッピングを混同しています。URLに一致するすべてのフィルターは、フィルターマッピングがで指定されているのと同じ順序で実行されますweb.xml。したがって、フィルターマッピングを交換すると、期待どおりに機能します。

<filter-mapping>
    <filter-name>mustBeSignedInFilter</filter-name>
    <url-pattern>/private/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>rememberMeCookieFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
于 2012-06-01T13:21:53.440 に答える