2013-11-23 3 views
1

IIS8에서 ServiceStack 3.9.70을 사용하고 있습니다. "auth/credentials"에서 기본 인증 공급자 서비스에 잘못된 사용자 creds를 게시하면 "401 unauthorized"응답이 예상대로 반환됩니다. 브라우저 (둘 다 크롬과 파이어 폭스)는 "인증 필요"를 요구합니다.브라우저의 ServiceStack 401 인증 프롬프트

이것은 angularjs 앱의 컨텍스트에 모두 해당하므로 브라우저 프롬프트가 상당히 성가시다. 그러나 나는 그것을 사라지 길 원하지만 이에 따라 401 응답을 처리하고있다. ServiceStack 인증 서비스에서 401 응답이 반환 될 때 브라우저가 자격 증명을 요구하지 않게하려면 어떻게합니까?

감사합니다.

답변

3

때로는 즐거운 밤의 수면이 모든 차이를 만듭니다. 나는 단순히 기본 인증을 비활성화함으로써이를 해결했습니다. 내 web.config에서 항목을 만들었지 만 동일한 변경 사항은 사이트의 "인증"기능에서 IIS에서 직접 만들 수 있습니다. 이제 401 응답은 브라우저를 프롬프트하지 않고 내 각진 앱에 따라 적절히 처리 할 수 ​​있습니다.

<system.webServer> 
    <security> 
    <authentication> 
     <basicAuthentication enabled="false" /> 
    </authentication> 
    </security> 
</system.webServer> 
+0

확실히 이러한 프롬프트를 표시하지 않는 가장 좋은 해결책입니다. 웹 API에도 매우 적합합니다. – chuck

1

401 응답은 403 Forbidden 응답과 비슷한 표준 http 상태 코드 프로토콜에 적합하다고 생각합니다.

자격 증명 핸드 셰이크를 피하고 보내는 각 RESTful 요청에서 동일한 리소스의 HEAD 요청에 포함 할 수있는 대역폭을 절약하려면.

관련 문제