Невозможно зашифровать пароль даже после правильного написания кода и импорта правильного пакета, пожалуйста, найдите код ниже для справки. Прикрепленный весь код для быстрой ссылки, пожалуйста, обратитесь к методу register
в приведенном ниже коде
Спасибо
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.shameem.flightreservation.entities.User;
import com.shameem.flightreservation.repos.UserRepository;
import com.shameem.flightreservation.services.SecurityService;
@Controller
public class UserController {
@Autowired
UserRepository userRepository;
@Autowired
SecurityService securityService;
@Autowired
private BCryptPasswordEncoder encoder;
private static final Logger LOGGER=LoggerFactory.getLogger(UserController.class);
@RequestMapping("/showReg")
public String showRegistrationPage()
{
LOGGER.info("Inside showRegistrationPage()");
return "Login/userRegistration";
}
@RequestMapping(value="/registerUser")
public String register(@ModelAttribute("user") User user)
{
//LOGGER.info("Inside register()" + user);
user.setPassword(encoder.encode(user.getPassword()));
LOGGER.info("After Encrypt Inside register()" + user);
if(!(user.getEmail()==null))
userRepository.save(user);
return "Login/login";
}
@RequestMapping("/showLogin")
public String showLoginPage()
{
LOGGER.info("Inside showLoginPage()");
return "Login/login";
}
@RequestMapping(value="/login",method = RequestMethod.POST)
public String login(@RequestParam("email") String email,@RequestParam("password") String password,ModelMap modelMap)
{
//User user=userRepository.findByEmail(email);
Boolean loginResponse=securityService.login(email, password);
LOGGER.info("Inside login() and the email is: " + email);
if(loginResponse)
{
return "findFlights";
}
else
{
modelMap.addAttribute("msg","Invalid user name or password");
}
return "Login/login";
}
}
User Entity
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
@Entity
public class User extends AbstractEntity {
private String firstName;
private String lastName;
private String email;
private String password;
@ManyToMany
@JoinTable(name="user_role",joinColumns =@JoinColumn(name="user_id"),inverseJoinColumns = @JoinColumn(name="role_id"))
private Set<Role> roles;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [firstName=" + firstName + ", lastName=" + lastName + ", email=" + email + ", password=" + password
+ "]";
}
public Set<Role> getRoles() {
return roles;
}
public void setRoles(Set<Role> roles) {
this.roles = roles;
}
}