Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

86
Visualizações
Lanzar BadCredentialsException sin redirigir a la página de inicio de sesión

Así que tengo un controlador Spring, usando Spring Security que fue bloqueado con un simple Funcionó bien.

Ahora tengo el requisito de que -algunas- personas no necesitan iniciar sesión a menos que estén buscando la receta de galletas de mi abuela. Entonces, en el código de mi controlador, verifico qué receta buscan, y si son cookies, lanzo una BadCredentialsException();

Ahora no quiero dividir los métodos del controlador. Estas recetas estarán en una base de datos y algunas (galletas) estarán disponibles para todos, otras querrás un rol específico. (Carnes por ejemplo)

Sin embargo, parece que la excepción se está detectando en el interceptor de excepciones general y se está redirigiendo a la página "algo salió mal".

Quiero que vayan a la página de inicio de sesión, inicien sesión y luego sean redirigidos a la página de recetas.

 <bean id="failureRedirectHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> <property name="useForward" value="true"/> </bean>

Nuevamente, todo esto funcionó con intercept-url access="IS_AUTHENTICATED_FULLY" Pero, ¿por qué no funcionará si lanzo explícitamente BadCredentialsException?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Creo que la excepción que quieres lanzar es AccessDeniedException . Con una configuración estándar, eso redirigirá al usuario a la página de inicio de sesión si actualmente no ha iniciado sesión. Si inició sesión, se mostrará una página de "acceso denegado". Puede personalizar esta página de acceso denegado y, por ejemplo, incluir un enlace para iniciar sesión como un usuario diferente.

La BadCredentialsException probablemente no esté destinada a ser lanzada en los controladores, sino solo internamente en los filtros de seguridad, cuando el usuario realmente ha ingresado algunas credenciales incorrectas.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda