唐紅に水くくるとは

通年チョコミントを食べたい

spring securityの<sec:csrfMetaTags/>タグを使った時の挙動変更

お仕事で、spring securityを使ったサーバサイドのアプリを作ったりしてます。
そこで、これまで(spring security 3.1系以前)以下のように書いてたものを
<meta name="_csrf_token" content="${_csrf.token}" /> <meta name="_csrf_headerName" content="${_csrf.headerName}" />
spring security 3.2?を使うに当たり以下に変更しました。
<sec:csrfMetaTags/>

出てくるMETAタグが当然変わるわけなんですが、
これを実行すると、「org.springframework.web.HttpRequestMethodNotSupportedException」が発生するところがある。

なお、変わる内容としては、 BEFORE:
<meta name="_csrf_token" content="トークンの値" /> <meta name="_csrf_headerName" content="X-CSRF-TOKEN" />

AFTER:
<meta name="_csrf_parameter" content="_csrf" /> <meta name="_csrf_header" content="X-CSRF-TOKEN" /> <meta name="_csrf" content="トークンの値" />

といった感じ。より厳密にいうと、
csrf_headerName→csrf_headerになったことにより、
HandlerMethodMapping#addMatchingMappingsの戻り値がnullになってしまっている。

参考になるかも?:
困ったこと・やったことを記録する: 警告: Request method 'POST' not supported

クロスサイトリクエストフォージェリ (CSRF) 対策 — Django 1.4 documentation
→formのサブミットに使ってるjsを修正するだけだった…