SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

第3回


  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 本連載では「軽量フレームワーク(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回を参照)。

次のページ
AuthAppアプリケーションクラス

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4461 2009/12/22 09:15

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング