2017-06-26 9 views
0

まず、私が何を求めているかは100%確かではありません。だから私が間違っていれば、私を修正する気持ちを解放してください。基本認証を有効にしてブラウザに認証を求めるメッセージが表示されないようにする

私はSpring Securityを使用して、ユーザーがカスタムエントリを使用してログインできるREST APIバックエンドを開発しました。ユーザーが自分のカスタムAPIを使用して自分自身を認証すると、それらのユーザー用に作成されたセッションが作成され、残りのAPIエントリにはロールとACLを考慮してアクセスできます。

同時に、これらのAPIは他のソフトウェアにサービスを提供できるように設計されています。だから、私はそれもいくつかのHTTP基本認証を有効にする意味があると思った。後で、私はダイジェストに取り組んでいるかもしれません。また、これらのメソッドのいずれかを使用して要求が認証された場合は、セッションが作成されません。また、1回のリクエストごとに再認証が必要になります。ステートレスなAPIです。

これまでのところすべてが素晴らしいです。ユーザーおよび他のシステムは、同じAPIセットを使用できます。しかし、問題は、ユーザーのセッションが終了したときです。または、ログインする前にバックエンドサービスを使用しているユーザーがいる場合、適切な方法は、ユーザーをログインページにリダイレクトして、自分自身の認証を依頼することです。しかし、HTTP基本認証を有効にしたので、認証が必要なREST APIを呼び出すと(ユーザーが認証されていない間に)、ユーザー名とパスワードを要求するブラウザポップアップが表示されます。

もちろん、ユーザーは資格情報を入力してシス​​テムを使用し続けることができます。しかし、私はユーザーのためのこの認証方法が嫌いです。まず第一に、認証資格情報が固執し、セキュリティリスクとみなされます。ユーザーに通知することなく、ブラウザに簡単に保存できます。そして、保存された資格情報を取り除くのは難しいです。ユーザは、ユーザ名とパスワードが保存されていることを知らずにコンピュータを離れることができます。

私の質問は、基本認証を有効にすることは可能ですか?同時に、ブラウザがそれを知るのを防ぐのですか?それとももっとうまくいくの?

私が戻ってくる途中でWWW-Authenticateレスポンスヘッダーを防止すると、私はそうすることができると思います。しかし、私はそのような決定の結果を確信していません。また、すべてのAPIの応答からそのヘッダーを削除する方法もわかりません。

答えて

0

最初に徹底的に調べることなく質問をしてきたと思います!この投稿は完璧に答えています!

How can I supress the browser's authentication dialog?

ソリューション:あなたの要求にX-Requested-With: XMLHttpRequestヘッダーを追加します。

関連する問題