2016-12-02 5 views
-2

ここで私は春のセキュリティのためのBeanを作成したいと思います。私はListを作成する必要があるRoleクラスのListにUserクラスを作成する必要があることを知っています。これは正しい方法か変更ですか。あなたの専門的な経験をもとに提案してください。 ありがとうございます。例えば、ユーザーロール権限エンティティのためのspring-securty用のBeanの作成

+1

を助けるあります[ドキュメント](http://docs.spring.io/spring-security /site/docs/4.2.0.RELEASE/reference/htmlsingle/)、そうですか? –

+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

関連する問題