Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.proselyte.springsecurityapp.model;
- //Simple JavaBean object that represents role of {@link User}
- import org.springframework.security.core.userdetails.User;
- import javax.persistence.*;
- import java.util.Set;
- @Entity //сущность
- @Table(name = "roles")
- public class Role {
- @Id //данное поле является idишником
- @GeneratedValue (strategy = GenerationType.AUTO) //генерируемое значение
- private long id;
- @Column(name = "name") // колонка имени
- private String name;
- @ManyToMany(mappedBy = "roles")
- private Set<User> users;
- public Role(){
- }
- public long getId() {
- return id;
- }
- public void setId(long id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Set<User> getUsers() {
- return users;
- }
- public void setUsers(Set<User> users) {
- this.users = users;
- }
- @Override
- public String toString() {
- return "Role{" +
- "id=" + id +
- ", name='" + name + ''' +
- ", users=" + users +
- '}';
- }
- }
- package net.proselyte.springsecurityapp.model;
- // Simple JavaBean domain object that represents a User
- import net.proselyte.springsecurityapp.model.Role;
- import javax.persistence.*;
- import java.util.Set;
- @Entity
- @Table(name = "users")
- public class User {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private Long id;
- @Column(name ="username")
- private String username;
- @Column(name = "password")
- private String password;
- @Transient
- transient private String confirmPassword; // для подтверждения пароля при регистрации
- @JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
- inverseJoinColumns = @JoinColumn(name = "roles_id"))
- private Set<Role> roles;
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getConfirmPassword() {
- return confirmPassword;
- }
- public void setConfirmPassword(String confirmPassword) {
- this.confirmPassword = confirmPassword;
- }
- public Set<Role> getRoles() {
- return roles;
- }
- public void setRoles(Set<Role> roles) {
- this.roles = roles;
- }
- }
- package net.proselyte.springsecurityapp.Service;
- import org.springframework.security.core.userdetails.User;
- // Service class for User
- public interface UserService {
- void save(User user);
- User findByUsername(String username);
- }
- Класс UserServiceImpl
- package net.proselyte.springsecurityapp.Service;
- // Implementation of UserService interface
- import net.proselyte.springsecurityapp.model.Role;
- import net.proselyte.springsecurityapp.dao.RoleDao;
- import net.proselyte.springsecurityapp.dao.UserDao;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.core.userdetails.User;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.stereotype.Service;
- import java.util.HashSet;
- import java.util.Set;
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserDao userDao;
- @Autowired
- private RoleDao roleDao;
- @Autowired
- BCryptPasswordEncoder bCryptPasswordEncoder;
- @Override
- public void save(User user) {
- user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
- Set<Role> roles = new HashSet<>();
- roles.add(roleDao.getOne(1L));
- user.setRoles(roles);
- userDao.save(user);
- }
- @Override
- public User findByUsername(String username) {
- return null;
- }
- }
- package net.proselyte.springsecurityapp.Service;
- // Implementation of UserService interface
- import net.proselyte.springsecurityapp.model.Role;
- import net.proselyte.springsecurityapp.dao.RoleDao;
- import net.proselyte.springsecurityapp.dao.UserDao;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.core.userdetails.User;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.stereotype.Service;
- import java.util.HashSet;
- import java.util.Set;
- @Service
- public class UserServiceImpl implements UserService {
- @Autowired
- private UserDao userDao;
- @Autowired
- private RoleDao roleDao;
- @Autowired
- BCryptPasswordEncoder bCryptPasswordEncoder;
- @Override
- public void save(User user) {
- user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
- Set<Role> roles = new HashSet<>();
- roles.add(roleDao.getOne(1L));
- user.setRoles(roles);
- userDao.save(user);
- }
- @Override
- public User findByUsername(String username) {
- return null;
- }
- }
Add Comment
Please, Sign In to add comment