参考文章:https://segmentfault.com/a/1190000010672041
因为Spring Security默认都是在程序的配置类或者配置文件写死哪些资源受哪些角色(权限)控制,要想随时更改就很麻烦,所以着手把它修改为从数据库中动态读取
一、构建表
数据库我构建了role和url两张表,分别储存角色信息和保护资源分配信息
@Entity
public class Role implements GrantedAuthority,ConfigAttribute {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Override
public String getAuthority() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public String getAttribute() {
// TODO 自动生成的方法存根
return name;
}
}
@Entity
public class Url {
@Id
@GeneratedValue(generator="id")
@GenericGenerator(name="id", strategy = "uuid")
private String id;
@Column(nullable =