2017-08-25 6 views
0

私は、Playフレームワークを使用してWebアプリケーションを開発しています。今私は認証/許可データベースなしで実装する必要があります(本当に奇妙な要件)。ログインとログアウト機能のみが登録されます。ユーザー名とパスワードのペアは、外部サービスを使用して認証されます。データベースを使用せずにユーザーのログインを実装するには、Play frameworkを使用してください。

私の現在のアイデアは、認証にトークンを使用し、ユーザー名/パスワードを格納するためにローカルファイルを使用することです。

私の考えは実現可能ですか?推奨されるライブラリはありますか?トークンを使用する場合は、毎回Httpリクエスト/レスポンスでそのトークンを渡し、すべてのコントローラでトークンを認証する必要がありますか?

ありがとうございます!

答えて

0

なぜローカルファイルにユーザー名とパスワードを格納するのですか?私はこの点を見ませんが、これはデータベースを構成しています。避けたいのは...ローカルファイルを扱うことを決定することは、複数のサーバーを展開してロードバランシング完了しました。

Playframeworkはステートレスです。つまり、サーバーはセッション状態を保持しません。そのプレーを回避するには、署名されたセッションCookieを使用します(ブラウザはセッションデータを保存しており、セッションデータが署名されているので、セッションデータを変更することはできません)。ここで

は、あなたが何ができるかです:ログイン時に

今、このアプローチは重大な欠点を持っている、それは人々がログに記録されているふりをする古いセッションクッキーを(再利用)を再生することができます。もう1つ(必要に応じて重大度が低い可能性があります)というのは、一定の非アクティブ後にセッションの有効期限を実装するのは簡単ではないということです。

これは恐らくあなたの質問に答えて、あなたに出発点を与えるのに十分です。

+0

啓発に感謝します。私は多くの他のサービスやヘルパーでユーザー名/パスワードが必要なので、ローカルファイルに資格情報を保存したかったのですが、あなたの答えを読んだ後は、それが考慮されていないことがわかりました。私はリンクを読み、感謝します。 – Zanecat

+0

上記の資格情報の保存には、非常に慎重な設計が必要です。そうしないと、すぐにセキュリティ上の悪夢になる可能性があります。 –

関連する問題