내 주요 목표는 클라이언트 (브라우저)가 ajax와 asp.net 웹 API 백엔드를 사용하여 인증 프로세스 중에 발생하는 것을 정확히 이해하는 것입니다.jquery ajax 무단 요청은 "NetworkError"및 상태 0을 반환합니다.
처음에는 브라우저에서 아약스를 통해 내 컨트롤러 중 하나 ("Access-Control-Allow-Origin"허용)에 간단한 GET 요청을합니다. 나는 내가 원했던 반응을 취한다. 그리고 모든 것은 지금까지 OK이다.
그런 다음 웹 API에서 동일한 컨트롤러에 authorize 특성을 설정하고 결과를 연구하기 위해 간단한 GET 요청을 다시 작성합니다. 따라서 방화 광의 도움으로 "NetworkError : 401 Unauthorized - localhost/api/values"가 있음을 알 수 있습니다.
결과 개체에는 readyState : 0, responseText : "", status : 0, statusText : "error"값이 표시됩니다. 이게 정상인가? 예제 상태 (401)를 볼 수 없습니다 : 401? 나는이 스레드의 허용 된 솔루션을 사용할 수 있다고 생각한다 : 그러나 잠재적 인 401 결과를보다 엄격하게 검사하는 것을 선호한다.
내가 작성한 한 가지 생각은 기본적으로 asp.net 웹 API인데, authorize 속성을 사용하면 승인되지 않은 응답에 "Access-Control-Allow-Origin"헤더가 포함되지 않으므로 추가했습니다. 전역 적으로 각 응답에 "Access-Control-Allow-Origin"을 추가하는 사용자 지정 작업 필터가 있지만 내 문제가 해결되지 않았으므로 그렇지 않습니다.