Guest User

Untitled

a guest
Jan 21st, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. package net.proselyte.springsecurityapp.model;
  2. //Simple JavaBean object that represents role of {@link User}
  3. import org.springframework.security.core.userdetails.User;
  4. import javax.persistence.*;
  5. import java.util.Set;
  6.  
  7. @Entity //сущность
  8. @Table(name = "roles")
  9. public class Role {
  10.  
  11. @Id //данное поле является idишником
  12. @GeneratedValue (strategy = GenerationType.AUTO) //генерируемое значение
  13. private long id;
  14. @Column(name = "name") // колонка имени
  15. private String name;
  16.  
  17. @ManyToMany(mappedBy = "roles")
  18. private Set<User> users;
  19.  
  20. public Role(){
  21.  
  22. }
  23.  
  24. public long getId() {
  25. return id;
  26. }
  27.  
  28. public void setId(long id) {
  29. this.id = id;
  30. }
  31.  
  32. public String getName() {
  33. return name;
  34. }
  35.  
  36. public void setName(String name) {
  37. this.name = name;
  38. }
  39.  
  40. public Set<User> getUsers() {
  41. return users;
  42. }
  43.  
  44. public void setUsers(Set<User> users) {
  45. this.users = users;
  46. }
  47.  
  48. @Override
  49. public String toString() {
  50. return "Role{" +
  51. "id=" + id +
  52. ", name='" + name + ''' +
  53. ", users=" + users +
  54. '}';
  55. }
  56. }
  57.  
  58. package net.proselyte.springsecurityapp.model;
  59. // Simple JavaBean domain object that represents a User
  60.  
  61.  
  62. import net.proselyte.springsecurityapp.model.Role;
  63.  
  64. import javax.persistence.*;
  65. import java.util.Set;
  66.  
  67. @Entity
  68. @Table(name = "users")
  69. public class User {
  70.  
  71. @Id
  72. @GeneratedValue(strategy = GenerationType.AUTO)
  73. private Long id;
  74.  
  75. @Column(name ="username")
  76. private String username;
  77.  
  78. @Column(name = "password")
  79. private String password;
  80.  
  81. @Transient
  82. transient private String confirmPassword; // для подтверждения пароля при регистрации
  83. @JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"),
  84. inverseJoinColumns = @JoinColumn(name = "roles_id"))
  85. private Set<Role> roles;
  86.  
  87. public Long getId() {
  88. return id;
  89. }
  90.  
  91. public void setId(Long id) {
  92. this.id = id;
  93. }
  94.  
  95. public String getUsername() {
  96. return username;
  97. }
  98.  
  99. public void setUsername(String username) {
  100. this.username = username;
  101. }
  102.  
  103. public String getPassword() {
  104. return password;
  105. }
  106.  
  107. public void setPassword(String password) {
  108. this.password = password;
  109. }
  110.  
  111. public String getConfirmPassword() {
  112. return confirmPassword;
  113. }
  114.  
  115. public void setConfirmPassword(String confirmPassword) {
  116. this.confirmPassword = confirmPassword;
  117. }
  118.  
  119. public Set<Role> getRoles() {
  120. return roles;
  121. }
  122.  
  123. public void setRoles(Set<Role> roles) {
  124. this.roles = roles;
  125. }
  126. }
  127.  
  128. package net.proselyte.springsecurityapp.Service;
  129.  
  130. import org.springframework.security.core.userdetails.User;
  131.  
  132. // Service class for User
  133. public interface UserService {
  134.  
  135. void save(User user);
  136.  
  137. User findByUsername(String username);
  138. }
  139.  
  140.  
  141. Класс UserServiceImpl
  142.  
  143. package net.proselyte.springsecurityapp.Service;
  144. // Implementation of UserService interface
  145.  
  146.  
  147. import net.proselyte.springsecurityapp.model.Role;
  148. import net.proselyte.springsecurityapp.dao.RoleDao;
  149. import net.proselyte.springsecurityapp.dao.UserDao;
  150. import org.springframework.beans.factory.annotation.Autowired;
  151. import org.springframework.security.core.userdetails.User;
  152. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  153. import org.springframework.stereotype.Service;
  154.  
  155. import java.util.HashSet;
  156. import java.util.Set;
  157.  
  158. @Service
  159. public class UserServiceImpl implements UserService {
  160.  
  161. @Autowired
  162. private UserDao userDao;
  163.  
  164. @Autowired
  165. private RoleDao roleDao;
  166.  
  167. @Autowired
  168. BCryptPasswordEncoder bCryptPasswordEncoder;
  169.  
  170.  
  171. @Override
  172. public void save(User user) {
  173. user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
  174. Set<Role> roles = new HashSet<>();
  175. roles.add(roleDao.getOne(1L));
  176. user.setRoles(roles);
  177. userDao.save(user);
  178.  
  179. }
  180.  
  181. @Override
  182. public User findByUsername(String username) {
  183. return null;
  184. }
  185. }
  186.  
  187. package net.proselyte.springsecurityapp.Service;
  188. // Implementation of UserService interface
  189.  
  190.  
  191. import net.proselyte.springsecurityapp.model.Role;
  192. import net.proselyte.springsecurityapp.dao.RoleDao;
  193. import net.proselyte.springsecurityapp.dao.UserDao;
  194. import org.springframework.beans.factory.annotation.Autowired;
  195. import org.springframework.security.core.userdetails.User;
  196. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  197. import org.springframework.stereotype.Service;
  198.  
  199. import java.util.HashSet;
  200. import java.util.Set;
  201.  
  202. @Service
  203. public class UserServiceImpl implements UserService {
  204.  
  205. @Autowired
  206. private UserDao userDao;
  207.  
  208. @Autowired
  209. private RoleDao roleDao;
  210.  
  211. @Autowired
  212. BCryptPasswordEncoder bCryptPasswordEncoder;
  213.  
  214.  
  215. @Override
  216. public void save(User user) {
  217. user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
  218. Set<Role> roles = new HashSet<>();
  219. roles.add(roleDao.getOne(1L));
  220. user.setRoles(roles);
  221. userDao.save(user);
  222.  
  223. }
  224.  
  225. @Override
  226. public User findByUsername(String username) {
  227. return null;
  228. }
  229. }
Add Comment
Please, Sign In to add comment