[Grails] Spring Security Core でイベントをハンドルする

最初にどのようなイベントがあるか確認する

grails-spring-security-core
にある、

src/java/grails/plugin/springsecurity/SecurityEventListener.java

の、

にブレークポイントをはる。

そして、
Config.groovy に以下を追加

これで、デバッグで起動してればログイン・ログアウト周りでのイベントを捕捉できる。

イベントのリスナを作る

イベントのリスナを作るには、

ApplicationListener をインプリメントしたクラスを作りリッスンしたいイベントの型を指定する

今回は認証失敗時の処理をハンドルしたいので、AuthorizationFailureEvent を指定する
こんな感じ

さいごに、resources.groovy に追加する




[Grails] Integration テストで、 Compilation error compiling や、 Duplicate annotation for class といったエラー

Integration テスト を実行すると、以下のようなエラー

テストソースに 別のソースをMixInしていたのだが、その方法がまずかった。

@TestMixin は、 unit テスト用

Integration テストでは通常通り

のようにする。