JavaでのWebアプリ作成時のユーザ認証について質問させて下さい。
現在、勉強のために個人的にSpring MVCでWebアプリケーションを作成しています。
その際気になった点として、ログイン処理を行った際、ログイン成功時にはユーザ情報をセッションに格納し、それをほかの処理で参照する、というのが古典的なアプリで自作するユーザ認証の方法としてあるということがわかりましたが、そのセッション情報を使用してユーザ認証は、各業務トランザクションの頭で必ず行う必要があるのでしょうか。(もしくは、共通クラスを作成してそこを必ず経由するようにするとか…?)
もしくは、いちいちセッション情報を参照しなくてもいいログイン状態判定の方法がほかにありますでしょうか。
アドバイス頂けますよう、よろしくお願いいたします。
ログインされているかどうかの判定をどうやって書いたらええねん?
ぎょうさんある servlet や jsp に、いちいち書いていくんかいな...
ってことですよね。
サーブレット・フィルタという仕組みがあります。
フィルタで、本来の処理を呼び出す前にログイン状態の確認をするような感じになると思います。
もし、なにがしかのフレームワークを使っているのであれば、フィルタに相当するような仕組みが用意されているはずです。
例えば、Struts だったらインターセプター。
ああ、Spring を使ってるって書いてありましたね。
Spring だと Around Advice とか Before Advice を使うことになるんでしょか。
行き違いになってしまい、すみません。
2013/12/19 15:33:28上述の方法で実装してみようと思います。
こういうのが一つ一つできるようになっていくと楽しいですね。
丁寧なアドバイス、どうもありがとうございました!!
この後は専用Exceptionを作成し、HandlerExceptionResolverで拾う方法を試してみようと思います。
2013/12/19 16:29:57・・・と考えましたが、Around Adviceでセッションデータ有無で分岐し、エラー画面に飛ばすかコントローラーを呼び出すか出し分けることにしました。
最初のコメントのアドバイスのおかげです。どうもありがとうございました!!