Symfony2에서 자동화된 권한 제어 + 메뉴 + 탐색경로 구축 관련 문제
PHPz
PHPz 2017-05-16 16:44:27
0
1
649

위 요구 사항을 충족하기 위해 TP, CI 등 다른 프레임워크를 사용해 왔는데 쉽게 구현할 수 있습니다. 최근에는 SF2에도 구현하고 adminBundle을 작성해 백엔드를 자동으로 생성해 공통 기능을 제공하고 싶다. 그러나 다음과 같은 문제가 발생했습니다.
백그라운드에서 전역적으로 사용자 액세스 권한을 감지하고 싶기 때문에 각 컨트롤러가 트리거되기 전에 요청 정보를 얻고 사용자가 해당 권한을 부여했는지 확인했습니다. 코드는 다음과 같습니다:

으아악

그런 다음 배경 레이아웃에 2개의 렌더링을 도입했습니다. 메뉴와 탐색경로 코드는 다음과 같습니다.

으아악

이런 식으로 2개의 sub_request가 시작되지만 내 요구사항은 탐색경로와 메뉴를 구현하기 위해 sub_request에서 상위 요청의 URL을 얻는 것입니다. SF에 몇 가지 문제가 있습니다. 누군가 하위 작업에서 요청 스택을 사용하도록 제안했습니다

으아악

위 작업에서 request_stack을 가져오려고 했지만 일단 가져오면 이 작업에서 요청이 시작된 것으로 보이며 내 리스너가 트리거된 다음 다른 작업이 실행되어 권한이 부족하다는 메시지로 이동합니다. 나는 혼란스러웠고 이유를 몰랐다.

PHPz
PHPz

学习是最好的投资!

모든 응답(1)
伊谢尔伦

kernel.controller를 모니터링하고 판단을 추가하며 기본 요청이 있을 때만 권한을 확인하는 리스너:

으아아아

2.3의 FilterControllerEvent에는 이 메서드가 없습니다. 다음 로직을 참조하여 직접 작성하세요.
https://github.com/symfony/symfony/blob/2.7/src/Symfony/Component/HttpKernel/Event/KernelEvent.php #L100

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿