У меня есть следующий код для перенаправления в spring-security:
public class FlowSuccessHandler implements AuthenticationSuccessHandler{
private RedirectStrategy redirect = new DefaultRedirectStrategy();
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
Set<String> roles = AuthorityUtils.authorityListToSet(authentication.getAuthorities());
if(roles.contains("ROLE_ADMIN")) {
redirect.sendRedirect(request, response, "admin/");
}else {
redirect.sendRedirect(request, response, "user/");
}
}
}
В моем контроллере для получения этого запроса есть следующее:
@Controller
@RequestMapping(value="/admin")
public class AdminController {
@RequestMapping(value= {"/"} ,method=RequestMethod.GET)
public String adminView(Model model)throws Exception{
return "admin/index";
}
}
когда этот контроллер отправляет ответ храма, у меня появляется следующая ошибка:
Estado HTTP 404 ? Not Found
Tipo Informe de estado
mensaje /admin/WEB-INF/views/admin/index.jsp
descripción El recurso requerido no está disponible.
Apache Tomcat/8.5.34
Я не знаю, как удалить это в начале маршрута / admin / нужно только /WEB-INF/views/.....
------ UPDATE -----
У меня есть такой видоискатель.
@Bean
public ViewResolver internalViewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("WEB-INF/views/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}