Luego de de nuestra extensa recopilación de datos solucionamos este enigma que suelen tener muchos de nuestros lectores. Te compartimos la respuesta y esperamos que te resulte de gran ayuda.
Solución:
El código HTTP correcto en realidad sería 401. Del RFC:
El código de estado 401 (no autorizado) indica que la solicitud no se ha aplicado porque carece de credenciales de autenticación válidas para el recurso de destino. El servidor que genera una respuesta 401 DEBE enviar un campo de encabezado WWW-Authenticate (Sección 4.1) que contiene al menos un desafío aplicable al recurso de destino.
Si la solicitud incluía credenciales de autenticación, la respuesta 401 indica que se rechazó la autorización para esas credenciales. El agente de usuario PUEDE repetir la solicitud con un campo de encabezado de Autorización nuevo o reemplazado (Sección 4.2).
401 – No autorizado
403 – Prohibido
http://www.buggybread.com/2012/11/http-error-codes-401-access-denied-403.html