Tengo problemas para descubrir exactamente lo que necesito implementar para utilizar un método de autenticación personalizado con mi aplicación web utilizando Spring Security. Tengo una aplicación Grails con el complemento Spring Security que actualmente usa la autenticación estándar de usuario/contraseña con un formulario de navegador. Esto está funcionando correctamente.Crear una autenticación personalizada con Acegi/Spring Security
Necesito implementar un mecanismo al lado de esto que implementa un tipo de autenticación MAC. Si la solicitud HTTP contiene varios parámetros (por ejemplo, un identificador de usuario, marca de tiempo, firma, etc.) necesito tomar esos parámetros, realizar algunas comparaciones de hash y firmas/marcas de tiempo, y luego autenticar al usuario.
No estoy 100% seguro de por dónde empezar con esto. ¿Qué clases de Spring Security necesito extender/implementar? He leído Reference Documentation y entiendo bien los conceptos, pero no estoy muy seguro de si necesito un Filtro o Proveedor o Administrador, o dónde/cómo exactamente crear objetos Authentication. Me he equivocado tratando de extender AbstractProcessingFilter y/o implementar AuthenticationProvider, pero me quedé atrapado entendiendo cómo hago que todos jueguen bien.
Creo que necesita usar la posición PRE_AUTH_FILTER en lugar de AUTHENTICATION_PROCESSING_FILTER. Además, es posible que desee consultar este tutorial para una implementación de autenticación en Google AppEngine: http://blog.springsource.com/2010/08/02/spring-security-in-google-app-engine/ – Tal