2014-12-12 1 views
9

유권자를 사용하여 사용자가 엔티티에 대해 특정 작업을 수행 할 수있는 올바른 권한이 있는지 확인하고 있습니다.엔티티 당 페이지 매김 개요에 대한 승인 확인

CRUD 작업은 쉽게 확인할 수 있습니다. 하지만 결과 집합이나 개요에 대한 사용 권한을 확인하려면 어떻게해야합니까? 개요에는 PagerFanta의 페이지 매김을 사용하여 결과에 페이지 매김을 적용합니다. 성능 문제로 인해 결과를 미리 확인할 수 없습니다. 페이지 매김으로 반환 된 결과 만 확인하면 빈 페이지 또는 절반 빈 페이지가 생길 수 있습니다.

사용자가 볼 수있는 결과 만 반환하도록 동일한 유효성 검사를 내 저장소에 넣을 생각입니다. 그러나 동일한 유효성 검사가 유권자와 저장소에 한번 복제되므로 코드 중복이 발생합니다.

이보다 더 좋은 해결책이 있습니까, 아니면 유권자가 이것을위한 최상의 해결책이 아닌가요?

+0

저장소를 서비스로 지정하고 보안을 통해 유권자에게 액세스 할 수 있습니다. – Jindra

답변

1

아, 예전의 "조건 매김은"문제는 이제 새로운 시대 : 대한

(나는 심지어, BTW. 때때로 당신이 그들의 매김 출력에 더 많은 페이지를 참조 해결 한 구글 생각하지 않습니다 , 그러면 실제로 얻을 수 있습니다.)

물론 문제는 유권자가 어떤 방식 으로든 당신을 도울 수 없다는 것입니다. 문제가 아니기 때문에 유권자는 당신을 도울 것입니다. SQL/dql/쿼리 수준. 가장 큰 차이점은 abstain, denied 또는 granted를 반환하는 대신 dql 조건을 반환해야 함을 의미합니다. 그래서 과제는 분리되어 있습니다.

그러나 할 수있는 일은 유권자 클래스에 해당 조건을 반환하는 함수를 추가하여 저장소에 삽입하는 것입니다. 최소한이 방법은 동일한 객체에 대한 액세스 논리가 같은 클래스에있을 것입니다.