(También hice esta pregunta sobre StackOverflow .)
¿Qué pasos puedo tomar para evitar el acceso no autorizado a un método en un controlador no autenticado?
Background
El diagrama a continuación ilustra un micrositio que estamos implementando, y una API HMAC que estamos proporcionando (para varios propósitos) que devuelve datos comerciales confidenciales a consumidores autenticados. Las flechas representan la comunicación deseada (verde) y la no intencional (roja).
Elmicrositionospermiterecopilardatosennombredeuncliente.Sealcanzaráatravésdeunacampañadecorreoelectrónicoasususuarios.Notenemosunarelacióncercanaconestecliente,porloquenoquierocargarlesenresolveresto.
LaAPIHMACestádiseñadaparaelautocompletadodedirecciones.Nohayningúniniciodesesiónparaelmicrositio.Lapáginatieneunaentradadedirección.ParahabilitarlafunciónAutocompletar,lapáginarealizaunallamadaAJAXalmétododesugerenciadeautocompletardelcontroladordespuésdecadapulsacióndetecla.ElmétododesugerenciadeautocompletadorealizaunasolicitudalaAPIHMAC.
Elproblema
Nopuedovernadaactualmentequeimpidaelconsumodelmétododesugerenciadeautocompletardelcontrolador.
Consideraciones
HeleídoqueAnitForgeryTokensnoesútilen
Pregunta
Entonces, ¿cómo aseguro mi método de controlador?