1.自定义 ExpressionRoot

自定义权限解析,可以做到自定义安全表达式,如下

@PreAuthorize("hasPermission('system:user:add')")
public String add() {
    return "add";
}

首先我们自定义一个类继承自 SecurityExpressionRoot 并实现 MethodSecurityExpressionOperations 接口(本来直接继承自 MethodSecurityExpressionRoot 即可,但是因为这个类不是 public 的,没法继承,所以我们就实现 MethodSecurityExpressionOperations 接口即可):

MethodSecurityExpressionOperations 就是为了可以自定义安全表达式的接口

详细看文章

Logo

快速构建 Web 应用程序

更多推荐