3

ServiceStack を使用して REST ベースのサービスを作成していますが、認証の一部としてクロスドメインを承認する必要がありますが、Cookie をクロスドメインで読み取ることができないため、認証サービスへの JSON POST が成功し、 SetCookie の結果を返しますが、その Cookie は表示されないため表示されません。

質問は、これを回避する他の方法はありますか?おそらく、リクエストヘッダーなどを介して同じ値を提供できますか?

4

2 に答える 2

2

クライアントと受信者の両方が許可している場合は、クロス ドメイン リクエストで Cookie を渡すことができます。こちらのリンクをご覧ください

于 2012-12-05T15:09:27.090 に答える
1

Ajax リクエストでHTTP BasicAuth HTTP ヘッダーを使用できます。サーバーではBasicAuthProvider() を有効にする必要があります。

Plugins.Add(new AuthFeature(
    () => new CustomUserSession(), //Use your own typed Custom UserSession type
    new IAuthProvider[] {
        new BasicAuthProvider(), //Sign-in with Basic Auth
        //... other providers
    }));

ただし、BasicAuth は UserName/Password の Base64 エンコード バージョンに過ぎないため、SSL 経由で行うのが理想的であることに注意してください。

jQuery を使用して BasicAuth ヘッダーを追加する方法については、この回答を参照してください。

于 2012-12-04T20:34:52.540 に答える