나는 asp.net mvc 4를 사용하여 내 자신의 basec 인증 로직을 작성했다.HttpActionContext.Request.Headers.Authorization is null
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
if (actionContext.Request.Headers.Authorization == null)
{
actionContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
}
else
{
//do staff here
}
}
로컬 iis에서 작동합니다. 그러나 그것은 생산 역에서 작동하지 않습니다. 나는 항상 null이된다. IIS에서 기본 인증을 사용하도록 설정했습니다. 나는 Fiddler와 테스트를하고 있는데, 내 요청은 다음과 같이 보입니다 :
User-Agent: darwin/1.0 CFNetwork/548.1.4 Darwin/11.0.0
Authorization: Basic cmFkaWt2b3N0b2tAZ21haWwuY65tJjE6QkFBREVEcHlQYmtjQkFOcXh4UmFrdG1JMUJ2bjBPYXVQVk9NcnFZMEg4V3BhakljSlk2WkJMTWtra1FIWHFrcEZmdEkyNmFEZEppYWlKVVZJOTZpUGJuMzRMc1luemJHM2FPV3paQk5DTG1Xak9FZGU3YTdGWVhVem1QeTlEWkM4cW02YWZoWkJGWkIzbGFXMTNaQjlKdQ==
Content-Length: 10128
Accept: application/json
Content-Type: application/json
Connection: keep-alive
Host: 192.168.7.4
왜 그런 일이 일어날 지 아무도 몰라요?
동일한 문제가 있으며 나에게 IIS의 "웹 사이트"에 대해 잘못된 인증 설정이 지정되었습니다. 익명 인증을 사용하도록 설정해야합니다. – cederlof