GAE (Google App Engine) アプリケーションの一部にアクセスするときに、ユーザーにログイン/パスワードの使用を要求したいと考えています。新しいデータをデータストアにアップロードできるページなど、事前定義された一連のユーザーへのアクセスを制限したいと考えています。
GAE にはこれを解決する方法が 3 つありますが、私の問題を解決できるのは最後の方法 (最も複雑な方法) だけのようです。
<security-constraint>
( web.xml 内の)デプロイメント記述子を使用します。これらのユーザーは、GAE アプリケーションの管理ページへのビューアーとしてもアクセスでき、請求履歴を表示したり、データストアやログを参照したりできるため、これは望ましくありません。これは私が避けなければならないことです。連携ログイン ( Open ID ) ( https://developers.google.com/appengine/articles/openid ) を使用して、ユーザーが Google、Yahoo! を使用できるようにします。またはログインする他のアイデンティティ。アクセスを少数のユーザー (最大 5 人) に制限し、誰もがアプリケーションを使用できないようにしたいので、これは解決策ではありません。
もう 1 つのオプションは、HTTPS 経由でのみアクセスできるシンプルなカスタム ログイン ページを作成し、ユーザーが POST 要求でユーザー名とパスワードを送信できるようにすることです (安全なhttps接続があるため、単純な場合があります)。サーブレットでセッション識別子を生成します。指定された有効性を持ち、それを後続のすべてのリクエストの一部にします。また、ユーザーが GET または POST 要求を送信するたびに、セッション ID が存在し、その間に有効期限が切れていないかどうかを手動で確認する必要があります。
管理者アカウントを維持する方法に関する他の/より良い提案はありますか? HttpSession
最後のバリアントを助けることができますか?
よろしく、 STeN