2

AJAX認証プロセスのベストプラクティスを知りたいのですが。

認証が有効な場合、応答「ok」でHTTPヘッダー200を返します。認証が無効な場合、サーバーから送信する必要のあるHTTPヘッダーは何ですか。

  1. HTTPヘッダーをコード500に設定する必要がありますか(エラー)
  2. または、200のままにして、応答変数をチェックするロジックを実装しますか?
4

2 に答える 2

2

500 エラーは、ユーザーが原因ではない予期しないサーバー側のエラーを意味するため、送信したくありません。

ステータス コードについては、rfc 仕様を参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

4XX ステータス コードはクライアント エラー用であり、これを確認する必要があります。あなたの場合、認証が失敗した場合は 401 を使用でき、そのユーザーがリソースの表示を許可されていない場合は 403 を使用できます。

于 2012-05-22T23:33:43.133 に答える
1

HTTP401を返すのはどうですか?

必要に応じて、AJAXエラーハンドラーで処理し、ページ全体をログイン画面にリダイレクトできます。

$.ajax({
  statusCode: {
    401: function() {
      alert("User not logged in");
    }
  }
});
于 2012-05-22T23:26:33.183 に答える