認証が必要なページを作る
では、実際に「認証しないとアクセスできないページ」というのを作ってみましょう。ここでは、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に表示が戻されます。そしてログインしているユーザーのニックネームとパスワードが表示されます。


