Advertisement
Guest User

Untitled

a guest
Apr 20th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1. @Entity
  2. @Table(name="ACCOUNT_USER")
  3. public class CustomUserDetails implements UserDetails {
  4.  
  5. private static final long serialVersionUID = 1L;
  6.  
  7. @Id
  8. @GeneratedValue(strategy = GenerationType.IDENTITY)
  9. @Column(name = "USER_ID")
  10. private long id;
  11.  
  12. @NotBlank
  13. @Column(name = "USERNAME")
  14. private String username;
  15.  
  16. @NotBlank
  17. @Column(name = "PASSWORD")
  18. private String password;
  19.  
  20. @Column(name = "LOCKED")
  21. private boolean locked;
  22.  
  23. @ManyToMany(cascade=CascadeType.ALL)
  24. @JoinTable(name = "USER_ROLE",
  25. joinColumns = @JoinColumn(name = "USER_ID"),
  26. inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
  27. private Set<CustomRole> roles;
  28.  
  29. public CustomUserDetails(String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<GrantedAuthority> authorities) { // jpa only
  30. this.setUsername(username);
  31. this.setPassword(password);
  32. this.roles = new HashSet<CustomRole>();
  33. for (GrantedAuthority authority: authorities) {
  34. roles.add(new CustomRole(authority.getAuthority()));
  35. }
  36. }
  37.  
  38. public CustomUserDetails() { // jpa only
  39. }
  40.  
  41. @Override
  42. public String getPassword() {
  43. return password;
  44. }
  45.  
  46. public void setPassword(String password) {
  47. this.password = password;
  48. }
  49.  
  50. @Override
  51. public String getUsername() {
  52. return username;
  53. }
  54.  
  55. public void setUsername(String username) {
  56. this.username = username;
  57. }
  58.  
  59. public Set<CustomRole> getRoles() {
  60. return roles;
  61. }
  62.  
  63. public void setRoles(Set<CustomRole> roles) {
  64. this.roles = roles;
  65. }
  66.  
  67. @Override
  68. public Collection<GrantedAuthority> getAuthorities() {
  69. ArrayList<String> authoritiesList = new ArrayList<String>();
  70. for (CustomRole role: roles) {
  71. authoritiesList.add(role.getRole());
  72. }
  73. return AuthorityUtils.commaSeparatedStringToAuthorityList(String.join(",", authoritiesList));
  74. }
  75. //Some more getters and setters ...
  76.  
  77. }
  78.  
  79. @Entity
  80. @Table(name="ACCOUNT_ROLE")
  81. public class CustomRole {
  82.  
  83. @Id
  84. @GeneratedValue(strategy = GenerationType.IDENTITY)
  85. @Column(name="ROLE_ID")
  86. private long id;
  87.  
  88. @Column(name="ROLE")
  89. private String role;
  90.  
  91. public long getId() {
  92. return id;
  93. }
  94.  
  95. //delete if not necessary
  96. public void setId(long id) {
  97. this.id = id;
  98. }
  99.  
  100. public String getRole() {
  101. return role;
  102. }
  103.  
  104. public void setRole(String role) {
  105. this.role = role;
  106. }
  107.  
  108. public CustomRole() {} //for jpa
  109.  
  110. public CustomRole(String role) {
  111. this.role = role;
  112. }
  113. }
  114.  
  115. public interface AccountRepository extends JpaRepository<CustomUserDetails, String>{
  116. public CustomUserDetails findByUsername(String username);
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement