Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться с редиректом

ewr ewrtr Ученик (68), на голосовании 1 год назад
Здравствуйте! Помогите найти ошибку. После нажатия на логин(главная стр на скринре) перехожу на форму авторизации. Авторизуюсь как админ. И после по замыслу должен перейти на форму добавления нового пользователя. Но меня обратно перебрасывает на форму авторизации
Главный контроллер
 @Controller 
public class MainController {
@RequestMapping({"", "/"})
public String index(){
return "index";
}

@RequestMapping("/login")
public String login(){
return "login";
}
Контроллер юзеров

 @Controller 
@RequiredArgsConstructor
@RequestMapping("/users")
public class UserController {

private final UserService userService;



@GetMapping("/new")
public String newUser(Model model){
model.addAttribute("user", new UserDto());
return "user";
}
@PostMapping("/new")
public String saveUser(UserDto dto, Model model){
if (userService.save(dto)){
return "redirect:/";///
}else {
model.addAttribute("user", dto);
return "user";
}
}
}
настройки security

     @Bean 
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.authorizeHttpRequests()
.requestMatchers("/users/new").hasAuthority(Role.ADMIN.name())
.anyRequest().permitAll()
.and()
.formLogin()
.loginPage("/login")
// .failureUrl("/login-error")
.loginProcessingUrl("/auth")
// .defaultSuccessUrl("/index")
.permitAll()
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessUrl("/").deleteCookies("JSESSIONID")
.invalidateHttpSession(true)
.and()
.csrf().disable();
return http.build();
}
ссылка на гит https://github.com/sergeshein/TestHiber



Голосование за лучший ответ
Зеленая бяка Просветленный (41309) 1 год назад
Посмотри тут , там есть несколько примеров, как сделать. Самый простой способ добавить
 .defaultSuccessUrl("/", true) 
в секьюрити конфиг, но это будет редиректить всех пользователей, а не только админа.
Оракул Оракул (62095) 1 год назад
Раскоменть и поставь /users/new
 .defaultSuccessUrl("/users/new") 
Похожие вопросы