gpt4 book ai didi

java - Spring preAuthorize SpEL 查询的日志结果?

转载 作者:行者123 更新时间:2023-12-02 04:21:12 24 4
gpt4 key购买 nike

我有一个可以在任一身份验证方法返回 true 时执行的方法。

@PreAuthorize("canExec('ROLE_A') || canExec('ROLE_B')")
public String getSomething() {
return "Something";
}

如何记录身份验证是否失败或成功,即整个 SpEL 查询的结果是 true 还是 false?

以下不是一个可能的解决方案,因为它可以在同一个 SpEL 中多次调用,并且多次记录的结果不会反射(reflect)授权的实际结果。

public boolean canExec(String role) {
boolean result = ...acutal evaluation...;
log.info("auth result for role {}: {}", role, result);
return result;
}

最佳答案

public boolean canExecOr(String roleA, String RoleB) {
boolean canA = canExec(roleA);
boolean canB = canExec(roleB);
// log...
return canA || canB;
}

@PreAuthorize("canExecComposite('ROLE_A','ROLE_B')")

??

关于java - Spring preAuthorize SpEL 查询的日志结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56636498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com