ユーザーが既にサーバーで認証されている場合、XMLHttpRequest を使用してどのように判断するのか興味がありますか? リクエストを送信してデータを返すことはできますが、ページを更新してデータを再度リクエストすると、セッション タイムアウトが期限切れになっていないにもかかわらず、ログオン フォームが起動します。
何かご意見は?
ありがとうクリス
ユーザーが既にサーバーで認証されている場合、XMLHttpRequest を使用してどのように判断するのか興味がありますか? リクエストを送信してデータを返すことはできますが、ページを更新してデータを再度リクエストすると、セッション タイムアウトが期限切れになっていないにもかかわらず、ログオン フォームが起動します。
何かご意見は?
ありがとうクリス
ここにはいくつかのオプションがあります。多くの場合、サーブは認証されていないリクエストに対してログインフォームで応答します。したがって、JSONをフェッチするAJAXリクエストを作成している場合は、応答のコンテンツタイプalaを確認するだけですxhr.getResponseHeader('Content-Type')
。認証された応答はのようなものである必要がありますがapplication/json
、認証されていない応答はtext/html
(またはそのようなもの)になります。
しかし...document.cookie
ユーザーがセッションCookieを定義しているかどうかを確認することもできます。これは防弾チェックではありませんが(Cookieが無効であるか、サーバーに追加のチェックがあり、それでもリクエストが失敗する可能性があります)、不合理なチェックではありません。