認証が必要なページを作る
では、実際に「認証しないとアクセスできないページ」というのを作ってみましょう。ここでは、GSPのページとして用意することにします。前回、作成したプロジェクトを引き続き使います。「war」内に、「authed.gsp」というファイルを作成し、ソースコードを記述しましょう。
<% import com.google.appengine.api.users.* service = UserServiceFactory.getUserService() if (!service.isUserLoggedIn()){ String url = service.createLoginURL("authed.gsp") response.sendRedirect(url) } User usr = service.getCurrentUser() %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Authed</title> </head> <body> <h1>Authed</h1> <table border="1"> <tr> <th colspan="2">VALUE</th> </tr> <tr> <td>NickName:</td><td><%=usr.getNickname() %></td> </tr> <tr> <td>MailAddress:</td><td><%=usr.getEmail() %></td> </tr> </table> </body> </html>
authed.gspにアクセスをしてみてください。自動的にログインページに移動します。ログインページは、ローカル環境では仮のページになっており、適当にメールアドレスを入力してもログインできます。Googleの本サーバにデプロイして動作確認をすると、ちゃんとGoogleアカウントのログインページに移動し、アカウントとパスワードを正しく入力しないとログインできないようになります。
ログインすると、自動的にもとのauthed.gspに表示が戻されます。そしてログインしているユーザーのニックネームとパスワードが表示されます。