テスト実行
LoginService、AuthException、SecureServiceをCurl ORBのコード生成ツールで作成し、アクセスすると、ログインに成功しない場合はAuthExceptionが発生し、ログインに成功した場合はSecureServiceサービスにアクセスできます。Curl ORBのコード生成ツール利用方法は前回の記事を参考にしてください。以下がサンプルコードとなります。
|| ログイン失敗 def login-service = {LoginService} {login-service.login "no user", "no pass"} || falseが返ってくる def secure-service = {SecureService} || bind-exceptionプロシージャでAuthExceptionを登録しておくと、以下の行でAuthExceptionが発生する {secure-service.do-something} || セッションをクリア {clear-jsessionid-in-cookies} || ログイン成功 {login-service.login "user01", "pass"} || サービスも実行できる def str = {secure-service.do-something}
これで、認証とアクセス制御を確認することができます。
まとめ
今回はエンタープライズアプリケーションで必須なユーザ認証とアクセス制御の実装方法について解説しました。
これまで3回の連載を通じて説明したように、Curl ORBとSpring Frameworkを用いることで、バイナリ形式の高速データ通信やサーバサイドJavaとの容易な連携ができることをご理解頂けたのではないでしょうか。
RIAの採用はリッチなユーザーインタフェースや優れた操作性などをユーザに提供できますが、サーバサイドまでをシームレスに繋ぎ、より高速なパフォーマンスを実現するには、Curl ORBの仕組みがエンタープライズRIAでは必要だと考えています。
Curl ORBはSpring Frameworkだけでなく、Seasar2などとも連携できます。実装方法やサンプルソースはCurlのデベロッパーセンターで公開していますので、ご興味を持っていただけた方はぜひデベロッパーセンターを覗いてみてください。