struts2のインターセプタまとめ

要はServletのフィルタのstruts2版。構造も動きもほとんど同じ。だから、当然ログイン認証インターセプタというのが出てくる。そう思って探してるんだけど、なかなかちゃんとした実装が見つからない。インターセプタをちゃんと勉強すべきか?
欲しいログイン認証インターセプタってのは、

  • 認証が必要なページはパッケージ単位とかで指定できる
  • 認証が必要なページで、未認証の場合、ログイン画面に遷移
  • ログイン認証が成功したら、元のリクエストのページに自動遷移(これ重要)
  • 認証成功後も一定時間ごとになんらかのチェックができる(タイムアウトとは別に)
  • 認証機構とか認証画面は分離されていて任意のものを組み込める
  • chainで遷移されても大丈夫。パラメータも全部引き継ぐ。

というもの。作れば簡単なんだろうけどさ。
さて、インターセプタだけど、AOP的発想だったのね。昔独自にフィルタをどんどん実装して、ログインとか文字コード変更とか、アップロードとかやってたけど、あぁ時期的にも一緒だなぁ。車輪の再発明じゃなかったけど、あのプロジェクト、struts2採用すれば幸せだったのかも。いや、全面書き換えだよなぁ。あれって、今でも苦しめられてるのかな?どうでもいいけどさ。