0

NSURLRequest.returnCacheDataElseLoad/.returnCacheDataDontLoadキャッシュポリシーが基本認証を無視していると思います。だから、次のシナリオでは正しく動作しない:良い資格情報を使用して、新鮮な要求を作成し、 (iOSのバグ?)キャッシュされた認証が不正な資格情報でキャッシュされています

  • メイクをオフラインに成功応答
  • スイッチを受け取る前に、サーバ
  • に要求するローカルキャッシュを使用するURLのキャッシュポリシーを設定

    • 以前のURLであるが、認証資格情報が間違っている要求
    • 資格情報が正しくない2番目のリクエストが表示される

    iOSシステムキャッシュ経由でアプリのオフラインモードが実装されている場合、全体的にこのバグにより誰でもサインインできます。

    誰もがこの問題に精通していますか?それは少なくともiOS 10で起こります。私はそれを穏やかに修正する方法を探しています。

  • 答えて

    0

    これは予想される動作です。 NSURLCacheキャッシュは、URL自体にのみ基づいており、要求の他の側面に基づいていません。ヘッダー、POST本体などはIIRCには考慮されていません。 (私は無視されない部分もいくつか忘れているかもしれませんが、どちらかの方法で資格情報があります)

    異なるビューを持つ複数のユーザーアカウントをサーバー側のデータに対応させるには、ユーザーごとに別々のキャッシュがあり、何らかの形でクライアント側の認証資格情報を確認する必要があります。これは、クライアントとサーバーが現在のパスワードの概念の点で同期を失う可能性があるので、これはおそらく間違いです.BTW。

    関連する問題