2016-12-02 86 views
-2

這裏我想爲spring安全性創建bean,並且據我所知我必須在Role類的List中創建User類我需要創建List。這是正確的方式或任何改變。給你我的建議與你的專業經驗。 在此先感謝。爲spring-securty創建bean

+1

你知道有一個[文件](http://docs.spring.io/spring-security /site/docs/4.2.0.RELEASE/reference/htmlsingle/),不是嗎? – 2016-12-02 12:25:36

+0

@RC。因爲我更新鮮,所以我不知道那些文檔。 – mike

回答

1

例如用戶角色權限的實體:

@Entity 
    public class CmsAccount { 
      @Id 
      @GeneratedValue 
      private Long id; 
      @Column(nullable = false, unique = true) 
      private String userId; 
      @Column(nullable = false) 
      private String password; 
      private String fullName; 
      private String countryCode; 
      private String siteCode; 
      @ManyToMany(fetch = FetchType.EAGER) 
      @JoinTable(
        name = "cmsuser_roles", 
        joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), 
        inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id")) 
      private Collection<Role> roles = new ArrayList<>(); 
      @NotNull 
      private Boolean suspended = false;  
    } 





@Entity 
    public class Role { 
     @Id 
     @GeneratedValue(strategy = GenerationType.AUTO) 
     private Long id; 

     @Column(unique = true) 
     private String name; 

     @ManyToMany(mappedBy = "roles") 
     private Collection<CustomerAccount> customerAccounts; 

     @ManyToMany(fetch = FetchType.EAGER) 
     @JoinTable(
       name = "roles_privileges", 
       joinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"), 
       inverseJoinColumns = @JoinColumn(name = "privilege_id", referencedColumnName = "id")) 
     private Collection<Privilege> privileges = new ArrayList<>(); 

     public void addCustomer(CustomerAccount customer) { 
      customerAccounts.add(customer); 
     } 

     public void addPrivilege(Privilege priv) { 
      privileges.add(priv); 
     } 

    } 



@Entity 
public class Privilege { 
     @Id 
     @GeneratedValue(strategy = GenerationType.AUTO) 
     private Long id; 

     @Column(unique = true) 
     private String name; 

     public Privilege(String name) { 
      this.name = name; 
     }  
    } 

希望,它會幫助你

+0

是的Sobik它幫助了我 – mike