環境
- Google App Engine Standard
- Cloud Tools for Eclipse
- Java 8
web.xmlの設定
webapp/WEB-INF/web.xml に以下の項目を追記する<security-constraint>
<web-resource-collection>
<web-resource-name>admin</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
url-patternで管理者アカウントが必要なページを指定。
この場合は /admin/ 以下のページ全てが対象
role-nameを*にするとGoogleアカウントを持っている人すべてがログインできる。
管理者の設定
管理者の設定はGoogle Cloud Console の「IAMと管理 -> IAM」から設定projectを作成したオーナーはApp Engineの管理者権限がデフォルトで割り当てられているので追加の設定は無し
別のアカウントログインできるようにするには「追加」から以下の図のように「App Engine -> App Engine 管理者」で別アカウントのGmailのアドレスを入力して権限を与えること
アクセス
App Engine にデプロイしてから対応するページにアクセスすると以下の図のようなログイン画面が表示される管理者アカウントだとhtml、jspページが表示される。
許可のないアカウントだと 403 Forbidden 「Error: Forbidden」が表示される