Trabajo en Spring Boot y angular. Realicé una autenticación basada en Spring Security. Probé con Postman y todo funciona bien, pero cuando uso angular no funciona después de la depuración. Me di cuenta de esa solicitud. getParameter ("nombre de usuario") devuelve nulo, el error probablemente esté en la solicitud angular, por favor, ¿alguien puede ayudarme?
@Override public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException { // TODO Auto-generated method stub String username = request.getParameter("username"); System.out.println(username); String password = request.getParameter("password"); System.out.println(password); UsernamePasswordAuthenticationToken authToken = new UsernamePasswordAuthenticationToken(username, password); return authManager.authenticate(authToken); } //req angular login(params:any) : Observable<any> { let username=params.username as string let password=params.password as string const FORM_URL = { headers:{ 'Content-Type': 'application/json' } } return this.http.post<any>(`${this.adresse+'/login'}`,{ 'username':username, 'password':password }, FORM_URL)} }De acuerdo con la documentación : Devuelve el valor de un parámetro de solicitud como una Cadena, o nulo si el parámetro no existe.
Averigüe de dónde debe provenir este parámetro. Los candidatos son la solicitud del cliente, el contenedor y el marco Sprint Boot. Una vez que sepa de qué lado se supone que debe configurarlo, descubra por qué no lo hace.
Una respuesta puede ser tan simple como "el usuario aún no se ha autenticado". Para una respuesta más enfocada, tendría que compartir más detalles.