2017-10-01 16 views
0

こんにちは私は春と春のセキュリティで新しいです。現在、私は春に休憩APIに取り組んでいます。春ごとに休息APIを提供します。残りのAPIはステートレスなので、APIを休止するセッションを作成することはできません。もしそうすればステートレスですから、それは残りのデザインに反しています。だから私の質問は可能です私たちは決して残りのサーバー側のユーザーの状態を維持するのですか?私たちはそれをクライアント側で維持できますか?どうやって?? 春の基本セキュリティでは、ログインして現在のユーザーに原則を適用しました。春休み認証の場合と同じです。だから休憩apiのすべてが現在ログインしているユーザーですか?。春休憩APIはステートレスで、次に春のセキュリティが現在ログインしているユーザーを維持する方法です。トークンを取得するためにトークンを取得し、現在のリクエストを送信したユーザを知るたびにトークンを取得します。トークンはクッキーに格納されます。したがって、クッキーはクライアント側に保存されます。その場合、ブラウザがCookieを無効にした場合、ログインしたユーザーと現在のユーザーをどのように認証できますか?春休みAPIと春の基本セキュリティ

+1

真のRESTfulな環境では何のログインが存在しない、あなただけを経由して各要求にユーザーの資格情報とパスワードを提供します「Authorization」ヘッダ。 Springのセキュリティでは、 'basicAuth()'ディレクティブを追加することができます。このディレクティブは、このヘッダが利用可能かどうかをチェックし、その値がbase64値をデコードする 'Basic $ {base64enc(username:password)} 'ユーザー詳細サービスからユーザーを検索し、アクセスできるセキュリティコンテキストに追加するために資格情報を分割します –

+0

その場合、春のセキュリティはすべて使用できますか? –

+0

は必要に応じて異なります。理論的には、実際にはUserDetailsS​​erviceとAuthenticationProviderを提供する傾向がありますが、ドメイン固有のプロパティと設定で実際のUserDetailsオブジェクトを充実させる傾向があります。 –

答えて

1

RESTはセキュリティとは関係がありません。そのすべてはデータ操作に関するものであり、セキュリティに関するものではありません。

通常、RESTリクエストとともに何らかの識別情報を提供します。資格情報のセット、トークン、暗号化されたトークン、およびそうでないものを指定できます。たとえば、トークンの形式の1つがJWTトークンです。しかし理論的には、異なるフォーマットでも作業できます。

スプリングセキュリティは、さまざまなフローをサポートします。時には、ここでそれを拡張し、いくつかの機能をプラグインする必要があります。しかし、春のセキュリティは非常に拡張性があり、さまざまなフローをサポートするように設計されたさまざまなレベルの柔軟性を可能にします。

私はそれが理論的な答えのようなものだ知っているが、質問もかなり理論です:)

+0

RESTは、プロトコルの定義に従ってリソース操作操作を行うために使用される、HTTPのような広く受け入れられている一般的な標準に依存することによって、クライアントをサーバーから切り離し、アーキテクチャの堅牢性を向上させるデータ操作に関するものではありません。 –

関連する問題