2012-05-22 2 views
2

AJAX 인증 프로세스에서 가장 좋은 방법이 무엇인지 알고 싶습니다.AJAX/거부 된 인증을위한 HTTP 헤더?

인증이 유효하면 응답이 "ok"인 HTTP 헤더 200을 반환합니다. 인증이 유효하지 않은 경우 서버에서 보내는 HTTP 헤더는 무엇입니까?

  1. 내가
  2. 500 (오류) 코드 또는 200에두고 응답 변수를 확인 로직을 구현하기 위해 HTTP 헤더를 설정해야합니까?

답변

1

HTTP401을 반환하는 것은 어떻습니까?

AJAX 오류 처리기에서 처리하고 전체 화면을 사용자 로그인 화면으로 리디렉션 할 수 있습니다.

$.ajax({ 
    statusCode: { 
    401: function() { 
     alert("User not logged in"); 
    } 
    } 
}); 
+0

401 베스트 프랙티스인가요? 당신의 경험은 무엇입니까? – jmav

+0

HTTP 401은 '요청에 사용자 인증이 필요합니다.'라는 의미입니다. 그것이 사용자의 상황을 설명하는 HTTP 코드입니다. 그리고 당신의 경험은 무엇입니까? –

+0

나는 당신이 연습에서 가장 많이 사용한 것을 의미했다 – jmav

2

예기치 않은 서버 측 오류가 사용자에 의해 발생하지 않았기 때문에 500 오류를 보내지 않습니다.

당신은 상태 코드에 대한 RFC 사양에 대한 자료를 읽어 보시기 바랍니다

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

4XX 상태 코드는 당신이보고 싶은 볼 수있는 곳입니다있는 클라이언트에 오류가 있습니다. 귀하의 경우에는 인증이 실패하면 401을 사용할 수 있고 해당 사용자가 자원을 볼 수 없으면 403을 사용할 수 있습니다.