Spring Boot Security – закодированный пароль не похож на метод BCrypt/Ecommence. ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot Security – закодированный пароль не похож на метод BCrypt/Ecommence.

Сообщение Anonymous »

Я новичок в загрузке Java/Spring и выполняю вход с помощью jwt.
Происходит следующее: я хорошо разобрался с созданием пользователей, проблема в том, что что когда я хочу войти в почтальон, я получаю «401 неверные учетные данные», а в консоли netbeans я получаю Закодированный пароль не похож на Bcrypt, и я не могу начать метод.
Я прочитал свой код как сумасшедший и до сих пор не могу понять, что с ним не так.
Authcontroller.java
java
@RestController
@RequestMapping("/auth")
@CrossOrigin
public class AuthController {

@Autowired
PasswordEncoder passwordEncoder;

@Autowired
AuthenticationManager authenticationManager;

@Autowired
UserService userService;

@Autowired
RolService rolService;

@Autowired
JwtProvider jwtProvider;

@PostMapping("/new")
public ResponseEntity nuevo(@Valid @RequestBody NewUser newUser, BindingResult bindingResult){
if(bindingResult.hasErrors())
return new ResponseEntity(new Msg("Campos o email inválido"), HttpStatus.BAD_REQUEST);

if(userService.existsByUsername(newUser.getUsername))
return new ResponseEntity(new Msg("Nombre de usuario existente"), HttpStatus.BAD_REQUEST);

if(userService.existsByEmail(newUser.getEmail))
return new ResponseEntity(new Msg("Email existente"), HttpStatus.BAD_REQUEST);

User user = new User(newUser.getName(), newUser.getUsername(), newUser.getEmail(), passwordEncoder.encode(newUser.getPassword()));

Set roles = new HashSet();
roles.add(rolService.getByRolName(RolName.ROLE_USER).get());

if(newUser.getRoles().contains("admin"))
roles.add(rolService.getByRolName(RolName.ROLE_ADMIN).get());

user.setRoles(roles);
userService.save(user);

return new ResponseEntity(new Msg("usuario guardado"), HttpStatus.CREATED);
}

@PostMapping("/login")
public ResponseEntity login (@Valid @RequestBody UserLogin userLogin, BindingResult bindingResult){
if (bindingResult.hasErrors())
return new ResponseEntity(new Msg("Campos mal ingresados"), HttpStatus.BAD_REQUEST);
Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(
userLogin.getUsername(), userLogin.getPassword()));

SecurityContextHolder.getContext().setAuthentication(authentication);

String jwt = jwtProvider.generateToken(authentication);

UserDetails userDetails = (UserDetails) authentication.getPrincipal();

JwtDto jwtDto = new JwtDto(jwt, userDetails.getUsername(), userDetails.getAuthorities());

return new ResponseEntity(jwtDto, HttpStatus.OK);
}

}

MainSecurity.java
java
@Configuration
@EnableWebSecurity
@EnableMethodSecurity
public class MainSecurity {

@Autowired
UserDetailsServiceImpl userDetailsServiceImpl;

@Autowired
JwtEntryPoint jwtEntryPoint;

@Bean
public JwtTokenFilter jwtTokenFilter() {
return new JwtTokenFilter();
}

@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}

@Bean
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration)
throws Exception {
return authenticationConfiguration.getAuthenticationManager();
}

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http.cors().and().csrf().disable()
.exceptionHandling().authenticationEntryPoint(jwtEntryPoint).and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
.authorizeHttpRequests()
.requestMatchers("/**").permitAll()
.anyRequest().authenticated();

http.addFilterBefore(jwtTokenFilter(), UsernamePasswordAuthenticationFilter.class);

return http.build();
}

@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*");
}
};
}
}


Подробнее здесь: https://stackoverflow.com/questions/750 ... mence-meth

Вернуться в «JAVA»