-2
這裏我想爲spring安全性創建bean,並且據我所知我必須在Role類的List中創建User類我需要創建List。這是正確的方式或任何改變。給你我的建議與你的專業經驗。 在此先感謝。爲spring-securty創建bean
這裏我想爲spring安全性創建bean,並且據我所知我必須在Role類的List中創建User類我需要創建List。這是正確的方式或任何改變。給你我的建議與你的專業經驗。 在此先感謝。爲spring-securty創建bean
例如用戶角色權限的實體:
@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;
}
}
希望,它會幫助你
是的Sobik它幫助了我 – mike
你知道有一個[文件](http://docs.spring.io/spring-security /site/docs/4.2.0.RELEASE/reference/htmlsingle/),不是嗎? – 2016-12-02 12:25:36
@RC。因爲我更新鮮,所以我不知道那些文檔。 – mike