Chúng tôi đang sử dụng spring and spring-security-3.2. Gần đây, chúng tôi đang thêm chú thích @PreAuthorize vào RestAPIs (trước đó là URL).Thông báo lỗi tùy chỉnh với @Preauthorize và @@ ControllerAdvice
@PreAuthorize("hasPermission('salesorder','ViewSalesOrder')")
@RequestMapping(value = "/restapi/salesorders/", method = RequestMethod.GET)
public ModelAndView getSalesOrders(){}
Chúng tôi đã xử lý ngoại lệ toàn cục có chú thích - @ControllerAdvice và PermissionEvaluator tùy chỉnh tại chỗ, mọi thứ hoạt động tốt ngoại trừ thông báo lỗi. Cho phép một số người dùng đang truy cập API vào thời điểm này mà không có quyền 'ViewSalesOrder' sau đó theo mặc định, ném ngoại lệ 'Truy cập bị từ chối', nhưng không cho biết quyền nào bị thiếu (Yêu cầu của chúng tôi đề cập đến quyền nào là còn thiếu).
Có thể ném ngoại lệ cũng bao gồm tên quyền, vì vậy thông báo lỗi cuối cùng phải giống như "Truy cập bị từ chối, bạn cần quyền ViewSalesOrder" (tên quyền ở đây phải từ chú thích @PreAuthorize)?
Xin lưu ý rằng chúng tôi có 100 restAPI như vậy để giải pháp chung sẽ được đánh giá cao.