javascript - @Preauthorize 错误返回或异常中的自定义错误处理
问题描述
出于安全目的,我有@preauthorize,但是当这个函数返回 false 时,我得到了
访问被拒绝
在春季作出回应。如何根据我自己的实现处理异常?
@PreAuthorize("hasPermission(#cookie,'balance')")
解决方案
您可以创建自定义异常处理程序。在此示例中,您处于 REST 环境中,这就是我将 ResponseEntity 作为返回对象的原因。但是你可以根据你的上下文返回任何你想要的东西。
@ControllerAdvice
@RestController
public class MyResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(AccessDeniedException.class)
public final ResponseEntity<CustomResponseObject> handleAccessDeniedException(Exception ex, WebRequest request) {
//code here
return new ResponseEntity<>(...);
}
}
推荐阅读
- google-apps-script - 可以直接将 Google Finance 写入数组吗?
- python - 为什么“if keyboard.is_pressed('q'):”不在我的代码中执行?
- javascript - 如何调整 javascript 以使用数据库输入?
- c# - SQL 查询抛出错误“无法将参数值从 Guid 转换为字符串”
- flask - http-proxy-middleware 不会代理匹配请求是否有原因?
- ios - MKPointAnnotation 的自定义视图
- sorting - 根据文件名匹配对多个目的地进行排序问题
- ruby-on-rails - 在 Rails 6 中,如何使用路由参数作为控制器方法名称?
- javascript - 节点 SQLite3 - 在特定表上运行插入时崩溃
- android - 应用程序中的某些请求未被查尔斯代理解密