Spring Security Filterを動かさないパスを指定する

Spring Securityは、さまざまな処理をFilterで実現しています。

しかし画像やCSSファイルなど、Filter が働かなくて良いパスもあります。

そもそもweb.xml の設定で、Spring Scurity の Filter Chain に処理を渡さないように設定できれば良いのですが、web.xml ではフィルタの除外設定を記述できないので面倒な場合があります。

そういった場合にどうするか。

Spring Security の の設定で、filters="none" を指定します。
たとえば以下のように記述すると、/image や /css というパスでは、Spring Security の Filter Chain が動作しなくなります。

<http>
  <intercept-url pattern="/User/**"  access="ROLE_USER" />
  <intercept-url pattern="/css/**"   filters="none" />
  <intercept-url pattern="/image/**" filters="none" />
</http>