Я пытаюсь зашифровать пароль при регистрации и его работе, когда я публикую регистрацию, он сохраняется в БД, а пароль зашифрован.Но другой API становится недоступным, например, когда я пытаюсь войти или получить всех пользователей, он дает мне запрещенный 403 «Отказано в доступе», что не так в моем коде?
это мой класс безопасности
package com.user.user.config.security;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
{
private final UserDetailsService userDetailsService;
private final BCryptPasswordEncoder bCryptPasswordEncoder;
public static final String SIGN_UP_URL = "/registration";
public WebSecurityConfig(UserDetailsService userDetailsService,
BCryptPasswordEncoder bCryptPasswordEncoder) {
this.userDetailsService = userDetailsService;
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests().antMatchers
(HttpMethod.POST,
SIGN_UP_URL).permitAll().anyRequest().authenticated();
}
@Override
public void configure(AuthenticationManagerBuilder auth) throws
Exception {
auth.userDetailsService(userDetailsService)
.passwordEncoder(bCryptPasswordEncoder);
}
}
и это метод в службах класса
public List<Users> getAllUsers() {
List<Users> users = new ArrayList<>();
userRepository.findAll()
.forEach(users::add);
return users;
}
public void registration(Users users) {
//
users.setPassword(bCryptPasswordEncoder
.encode(users.getPassword()));
users.setPassword(bCryptPasswordEncoder
.encode(users.getPassword()));
userRepository.save(users);
}
, и я добавил этот метод в основной класс
@Bean
public BCryptPasswordEncoder bCryptPasswordEncoder() {
return new BCryptPasswordEncoder();
}
что мне нужно сделать, чтобы решить мою проблему ??