Tôi đang cố gắng ủy quyền cho apis được Spring Data REST tiếp xúc. Cho đến nay tôi có thể thực hiện ủy quyền dựa trên vai trò, ví dụ:Sử dụng ACL Spring Security với dữ liệu Spring REST
@RepositoryRestResource(path = "book")
public interface BookRepository extends JpaRepository<Book, Long> {
@PreAuthorize("hasRole('ROLE_ADMIN')")
<S extends Book> Book save(Book book);
}
Cũng trong cùng một dự án tôi có một lớp dịch vụ với cơ chế ACL đang hoạt động.
Tôi không thể sử dụng biểu PostFilter với mùa xuân dữ liệu REST của tức là:
@PostFilter("hasPermission(filterObject, 'read') or hasPermission(filterObject, admin)")
List<Book> findAll();
Nó sẽ giúp đỡ rất nhiều, nếu có ai sử dụng ACL với mùa xuân dữ liệu REST.
Lưu ý: Tôi biết dưới các vấn đề mở:
https://jira.spring.io/browse/DATAREST-236
https://jira.spring.io/browse/SEC-2409
Bạn sẽ xứng đáng nhận được một (hoặc một năm rưỡi sau) để dành thời gian đến và đăng câu trả lời cho vấn đề của chính bạn. Cảm ơn bạn ! –
Làm thế nào để lọc kết quả bằng cách sử dụng '@ PostAuthorize' trong một hàm' findAll() 'dựa trên các giá trị thực thể riêng lẻ bên trong mảng có thể đánh số trang? –
@ W.M. cho pageable '@ PostAuthorize' không phải là một ý tưởng hay. Vui lòng tham khảo https://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#data-query –