he implementado Expresión primavera de Seguridad en mi controlador de primavera aplicación:la seguridad de Primavera y sin forma de la conexión
@Controller
@RequestMapping("init")
public class InitController {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody String home(){
return "This is the init page";
}
}
Con esta configuración de seguridad:
<http auto-config="true" create-session="stateless" use-expressions="true">
<intercept-url pattern="/_ah*" access="permitAll" />
<intercept-url pattern="/init/*" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/init*" access="hasRole('ROLE_ADMIN')"/>
</http>
Cuando se accede a este recurso forma el inicio de sesión de primavera por defecto se muestra (http://localhost:8888/spring_security_login
) sin embargo, no quiero que esto suceda y que solo quiero tener las credenciales para insertarlas en el encabezado de solicitud como "x-authorization-key" o lo que sea que se ajuste al escenario.
¿Cuál es la posible solución para esto?
- ¿Es una buena tener sólo la autorización de clave x estar en la solicitud
- Si es así, cómo encaja con el mecanismo de seguridad de la primavera, que es la forma que encaja con el "hasRole "la expresión
- es importante que el del mi servicio web es sin estado, y cada solicitud se autentica
- Por último, ¿cómo hacer trato con la seguridad de primavera sin tener que lidiar con el formulario de acceso primavera
cabecera