2016-09-13 11 views
0

springMVCを使用してRESTサービスを実装しています。今私は春のセキュリティファイルに基本認証エントリポイントを追加しました。しかし、私はそれを知っていません。ユーザーが認証ヘッダーに資格情報を渡すことによって認証されると、後続のすべての要求に対してその資格情報を渡す必要がありますか?例えば基本認証によるログイン後の後続のリクエストで、スプリング基本認証がどのように機能するのですか?

、 は、私は2つのURLがあります。このサービスの

1) localhost/apppName/login 
    // Here user passes credentials in Authorization header. So, user authenticated successfully. 

2) localhost/appName/getUsers/1 
//Here, client need to pass those credentials in Authorization header? 
    if it is needed, then why spring kept prinicpal object in the SecurityContextHoder after authentication done via BasicAuthenitcationEntryPoint? 

クライアントは、Android、Javaのような任意のものになることができますが、ネット 任意の提案は理解されるであろう。

+0

通常、ブラウザは資格情報をキャッシュします。 –

+0

その後のリクエストでは、資格情報を渡す必要がありますか? –

答えて

1

純粋なRESTはステートレスです。つまり、要求の間にサーバーにクライアントコンテキストが格納されていません。つまり、リクエストごとにAuthorizationヘッダーを送信する必要があります。

あなたは、基本認証を使用する際にログインURLを押す必要がありません、それがポイントです。

は、基本認証と組み合わせてセッションを使用します。この場合、リクエスト間でセッションCookieを渡す必要があります。パフォーマンス上の利点があるかもしれませんが、一般的には推奨しません。

+0

提案していただきありがとうございます。しかし、私のアイデアは基本的な認証とのセッションの代わりに私は認証後に認証ヘッダーのクライアントパストークンを求めています。今私は基本認証とトークンを結合したい。これどうやってするの? –

関連する問題