这个角色一般就是用户和管理员两种,所以很多情况下没有必要用数据库中的一种类型来作为角色,简单来做的话,就用这个枚举类型
public enum RoleName{
ADMIN,USER;
/*ADMIN("ROLE_ADMIN"),USER("ROLE_USER");
private String value;
// RoleName(String value){
// this.value=value;
// }
public String getValue() {
return value;
}*/
@Override
public String toString() {
return "ROLE_"+this.name();
}
}
这个地方最需要注意的就是名称要加上ROLE_
然后方法上即可直接用
@ApiOperation("设置为货物已经发出")
@PreAuthorize("hasRole('ADMIN')")
@PostMapping("setSent")
public Object setSent(@NotNull Integer id){
User u = userSvc.curentUser();
return new RespObj(orderRepo.setSent(id));
}