asp.net mvc 개발하면서 controller , web api 를 둘 다 동일한 환경에서 사용한다는 가정하에, 해당 controller 나 web api 를 호출할 때 인증 없이 접근 할 경우, [Authorize] 의 attribute 를 사용해서 redirect 로 비인증자에게 로그인 인증 화면으로 화면 전환을 합니다. UseCookieAuthentication인증을 사용하신다면, 이는 onApplyRedirect() 함수를 통해 간단히 해결이 되지요.
아래의 코딩 구문대로, 비인증자가 호출하면IsApiRequest() 함수를 통해 controller 인지 web api 인지 체크하며, web api 에서 호출한 것이라고 판단할 경우 아래와 같이 401 상태코드를 반환과 동시에, 에러 메시지도 제공해 드립니다.