はじめに
Webサイトでは、認証を必要とするものがあります。ユーザー名とパスワードを登録し、それらを使ってログインするとアクセスできるようになる、というものです。こうした認証機能をGrailsで実装するにはどうすればよいのでしょうか。
ユーザーとパスワードをデータベースに登録し、それをチェックしてログイン処理する……といった仕組みを自分で作ることは可能です。が、もっと簡単にそれを行ってくれる機能がGrailsには用意されています。それは、「Authentication」というプラグインです。
対象読者
- JSPを書くのは正直しんどい……と近頃感じる人。
- Ruby on Railsスタイルの開発に興味があるという人。
- MVCフレームワークをJavaで学びたい、という人。
認証とAuthenticationプラグイン
Grailsというフレームワークは、比較的小さなものです。これ本体だけでは足りない機能というのもたくさんあります。が、こうしたものを後から追加して利用できるようにする仕組みが、Grailsには用意されています。それが「プラグイン」です。
認証機能は、Grailsに標準で組み込まれてはいませんが、プラグインとして流通しています。これはいくつかのものがありますが、最も簡単に利用できるのは「Authentication」というプラグインでしょう。これはインストールするだけで、ユーザーの登録やログインのための基本機能が自動的に使えるようになってしまう、というものです。そのためにデータベースを用意したり、ドメインクラスを定義したりする必要もありません。ただインストールするだけで使えるようになってしまうのです。
このAuthenticationは、grails.orgのプラグインのページで配布されています。
ここから、「Download」のリンクをクリックして、最新版をダウンロードしてください。本記事執筆時、1.0というバージョンが最新版として配布されています。ここでは、このバージョンをベースに説明を行います。
ダウンロードしたファイルは、「grails-authentication-1.0.zip」という圧縮ファイルになっています。これは、ファイルを展開などする必要はありません。このZipファイルのまま利用します。
プロジェクトにインストールする
Grailsのプラグインは、個々のアプリケーションごとに、必要なものをインストールして利用します。前回までの記事で、gappというWebアプリケーションを作成しましたが、今回もこれをそのまま利用することにしましょう。
まず、ダウンロードしたZipファイルを、アプリケーションのフォルダ(「gapp」フォルダ)の中にコピーしてください。そして、コマンドプロンプトを起動し、cdコマンドでアプリケーションフォルダの中にカレントディレクトリを移動します。そして、次のようにコマンドを実行してください。
grails install-plugin authentication
これは、現在カレントディレクトリのアプリケーションにプラグインをインストールするためのコマンドで、「grails install-plugin プラグイン名」といった形で実行します。インストールが完了したら、コピーしたZipファイルは不要です。フォルダから取り除いてかまいません。