2
내 설정에서 다음과 같은 설정이 : 나는 API/인증 메시지 처리기가 여전히 실행하고 인증 토큰 헤더 검사에 URL에 아무것도 게시 할 경우WebAPI에 정의되지 않은 경우에도 내 메시지 처리기가 실행되는 이유는 무엇입니까?
routes.MapHttpRoute("NoAuthRequiredApi", "api/auth/", new { id = RouteParameter.Optional });
routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional }, null, new WebApiAuthenticationHandler());
합니다. 이런 일이 발생하는 이유가 있습니까? WebApi 라우트의 구성을 변경해야합니까? 그 시점에서 다른 컨트롤러에서 사용하기 위해 토큰을 검색하려고하기 때문에 승인 컨트롤러에 요청할 때 헤더에 인증 토큰이 필요하지 않습니다.
여전히이 오류가 : POST에 http : // localhost를 : 49597/API/인증/1 당신의 변화 401 (무단). – jaffa
@jaffa, id "/ 1"을 포함 시키면 경로 템플리트/api/{id}에 추가해야합니다. 그렇지 않으면 계속해서 일치하지 않습니다. 나는 왜 당신이 경로에있는 ID를 원하는지 모르겠다. –
안녕하세요. 작동하도록했습니다. 내가 401을 얻었 기 때문에 그것이 작동하지 않는다고 생각했지만, 인증 컨트롤러에서 명시 적으로 발생 시켜서 더 나아갔습니다. – jaffa