проблема с доступом для роли ADMIN

Всем привет. Есть форма авторизации, которая выдает обычным пользователям роль USER, потом через sql я обновил роль одного из пользователя повысив его до ADMIN, но этот пользователь не может зайти на страницу предназначенную для роли ADMIN. Как быть в этой ситуации?

Spring Security


@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private PasswordEncoder passwordEncoder;
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/upload").hasRole(User.ROLE.ADMIN.toString())
                .antMatchers("/personalArea").hasAnyRole(User.ROLE.USER.toString())
                .antMatchers("/*").permitAll()
                .and()
                .formLogin()
                .loginPage("/login")
                .permitAll()
                .defaultSuccessUrl("/")
                .and()
                .csrf()
                .disable()
                .logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/")

                ;
    }

}

Контролер, отвечающий за регистрацию

@RequestMapping("/register")
public class RegisterController {

    private UserService userService;

    @Autowired
    public RegisterController(UserService userService) {
        this.userService = userService;
    }

    @GetMapping
    public String registerPage(Model model){
        return "register";
    }

    @PostMapping
    public String registerUser(User user){
        userService.registration(user);
        return "redirect:/login";
    }
}

регистрация, в UserService

    public void registration(User user){
        user.setPassword(passwordEncoder.encode(user.getPassword()));
        user.setRole(User.ROLE.USER);
        log.info(user.toString());
        userRepository.save();

        User admin = new User();
        admin.setUsername("admin");
        admin.setEmail("[email protected]");
        admin.setPhoneNumber("234");
        admin.setPassword(passwordEncoder.encode("12345678"));
        admin.setRole(User.ROLE.ADMIN);
        userRepository.save();
    }

Класс Пользователя

@Getter
@Setter
@Entity
@Table(name = "users")
@RequiredArgsConstructor
@Transactional
public class User implements UserDetails{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String username;
    @Email
    private String email;
    @NumberFormat
    private String phoneNumber;

    private String password;
    @Enumerated(EnumType.STRING)
    private ROLE role;

    @OneToMany(fetch = FetchType.EAGER, mappedBy = "user")
    private List<Order> orderList = new ArrayList<>();



    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return Arrays.asList(new SimpleGrantedAuthority("ROLE_USER"));
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public boolean isEnabled() {
        return true;
    }

    public enum ROLE implements GrantedAuthority{
        USER, ADMIN, MODERATOR, ANON;

        @Override
        public String getAuthority() {
            return name();
        }
    }

    public ROLE getAnonRole(){
        return ROLE.ANON;
    }

    public void addOrder(Order order){
        this.orderList.add(order);
    }
}


Ответы (0 шт):