1

私は、別のリモートサーバーへの多くのWebサービス要求によって駆動される内部使用のWebアプリケーションに取り組んでいます。内部サイトは独自のセッションを維持し、Webサービスによってバックアップされたユーザー名/パスワードのクレデンシャルによって認証されます(つまり、内部サイトへのログインを確認するためにリモート認証呼び出しを行います)。Webサービス要求にも、これらの同じクレデンシャルを使用した認証が必要です。

これらのWebサービス要求がステートレスのままになることを望んでいました。つまり、認証のすべての要求で資格情報を渡すことを意味します。問題は、使用する資格情報(最初のログイン時に入力した資格情報)を安全な方法で記憶することです。後で再利用するためにパスワードを保存する本当に安全な方法を私は知りません-それをハッシュすると、それを再び使用する能力が犠牲になります。私たちができる最善のことは、それをセッションスコープでエンコードし、悪意のある開発者がスレッドダンプなどでそれをキャッチしようとしないことを期待することです。

私が見逃しているこれに対するより良い解決策はありますか?エンコードされたパスワードをメモリに保存するリスクについて過度に偏見がありますか、それともこのプロジェクトへのアプローチに欠陥がありますか?

4

2 に答える 2

0

最終的に私たちの結論は、いいえ、何らかの方法で再利用可能なユーザー資格情報をサーバーに保存することは安全ではないため、各Webサービス要求に対して真にステートレスな再認証を行うことはできないということでした。ユーザーの最初のログイン時に開始および保存されるステートフル接続を危険にさらして維持する必要がありました。

于 2012-08-08T15:33:46.083 に答える
0

トークンベースの認証を使用することをお勧めします。トークンは、その場で安価なユーザー検証のためにユーザーに渡されます。これの1つの実装は、セッション管理のためにユーザーに渡されるCookieを生成することです。

私は使用していませんが、 oauthを見る必要がありますかもしれません

于 2012-07-20T12:52:13.060 に答える