CodeZine(コードジン)

特集ページ一覧

Javaで軽快に使える「軽量フレームワーク」特集
~Apache Wicketで簡単Webアプリ作成(3)

第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/11/05 14:00

 時代がライトウェイト言語へとシフトしつつある中、軽快に使えるフレームワークが次々登場してきました。本連載では、Javaで注目されている軽量フレームワークの中から注目株をピックアップし、概略を紹介します。第3回目の今回は「Apache Wicket」の拡張ライブラリを使い、ユーザー認証アプリケーションを作成します。

目次

はじめに

 本連載では「軽量フレームワーク(Lightweight Framework)」の中から注目株をピックアップし、その概略を紹介していこうと思います。第3回目となる今回は、前回に引き続きJavaの軽量フレームワーク「Apache Wicket」について説明していきます。

これまでの連載

 前回、Wicketのさまざまな機能を利用してみました。Wicketがどんなフレームワークか、大まかなイメージはつかめたのではないかと思います。しかし、Wicketにはその他にもさまざまな機能が「拡張ライブラリ」として用意されています。これらを追加することにより、更に強力なフレームワークへと強化させていくことが可能です。

 今回は、標準で付属する拡張ライブラリの中から、認証機能を追加する「wicket-auth-roles」を使い、ユーザー認証を行うアプリケーションを作成してみましょう。

対象読者

  • Javaで手ごろなフレームワークを探している技術者
  • 最近のフレームワークをごくざっと理解しておきたい方
  • Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ

wicket-auth-rolesを利用する

 拡張ライブラリは、Wicket本体にある「lib」フォルダの中にあります。先にWicketのプロジェクトを作成する際、この中にあるwicket-xxx.jarといったライブラリファイルをコピーして組み込んだのを思い出しましょう。ここには、その他にも多数のJarファイルがありました。これらが、Wicketの拡張ライブラリです。使いたいJarファイルだけをコピーしプロジェクトに追加することで、そのライブラリが使用可能になります。

 ここでは、拡張ライブラリの中でも最も利用されることの多い「wicket-auth-roles」を使い、認証機能をアプリケーションに実装してみます。「lib」フォルダ内に「wicket-auth-roles-xxx.jar」というファイルとして用意されているので、それをプロジェクトのWEB-INF/lib内にコピーすれば利用できます。

AuthAppプロジェクトの作成

 では、今回も実際にWebアプリケーションを作成しながら、wicket-auth-rolesの機能について説明していくことにしましょう。今回は、新たに「AuthApp」というプロジェクトを作成し、これにwicket-auth-rolesの機能を組み込みます。

 今回作成するWebアプリケーションは、いくつかのWebページとクラスを用意します。以下に、作成する内容について整理し、認証アプリケーションの全体的な構成を理解しておきましょう。

  • アプリケーションクラス
  •  通常、アプリケーションクラスはWebApplicationクラスを継承して作成しますが、wicket-auth-rolesによる認証を使う場合には「AuthenticatedWebApplication」というクラスを継承して作成します。これは認証に関する機能拡張をしたクラスで、これに用意されているメソッドをオーバーライドしていくことで、認証に必要な機能を用意します。

  • セッションクラス
  •  新たに登場するクラスです。wicket-auth-rolesによる認証では、セッションのためのクラスが必要になります。Wicketでは、セッションは通常WebSessionというクラスが用意されているのですが、wicket-auth-rolesを利用する場合にはそのサブクラス「AuthenticatedWebSession」を継承し、独自のセッションクラスを用意します。

  • ログインページ
  •  ユーザー名とパスワードを入力しログインするためのページです。ログインページは、「SignInPage」というクラスとして用意されており、これを利用すると非常に簡単に作成できます。

  • ログアウトページ
  •  ログアウトするためのページです。これも「SignOutPage」というクラスとして用意されているものをそのまま利用します。

  • エラーページ
  •  アクセスに失敗した際にジャンプ先として指定するページです。アクセス権のないページにアクセスを試みたりするとここに飛ばされます。これ自体はごく普通のWebPageです。

  • USER権限ページ
  •  USERというユーザーでログインした場合にのみアクセスが許可されるページを用意します。一般のユーザーがアクセスできるページ例です。

  • ADMIN権限ページ
  •  ADMINというユーザーでログインした場合にのみアクセスが許可されるページです。管理者権限のある人間だけが使えるページ例です。

 これで、ユーザー認証の基本的なものはひととおりそろうでしょう。では、ここでAuthAppプロジェクトを作成しておいてください(プロジェクトの作成方法は第1回を参照)。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/12/22 09:15 「ログインページの変更」で、サインインに関する記述を追記しました。

バックナンバー

連載:Javaで軽快に使える「軽量フレームワーク」特集

もっと読む

著者プロフィール

  • 掌田 津耶乃(ショウダ ツヤノ)

    三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。 ※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開中。またGoogle+プロフィールはこちら。

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5