2012-02-16 5 views
2

CakePHP 애플리케이션에서 Project 모델과 User 모델을 가지고 있다고 가정 해 봅시다. ACL을 사용하여 사용자가 ProjectsController에서 프로젝트 및/또는 특정 작업에 액세스 할 수 있는지 여부를 제어 할 수 있습니다.ACL을 사용하여 CakePHP의 리소스 ID로 리소스 액세스 제한

하지만 사용자가 특정 프로젝트를 볼 수 있는지 여부를 더 자세히 제어하고 싶습니다. http://example.com/projects/3과 같은 URL을 사용하여 id = 3으로 프로젝트에 액세스하십시오.

ACL에서도 가능합니까? 아니면 위에 추가 검사를해야합니까?

감사합니다.

답변

3

모델의 특정 값에 대한 액세스를 제한하려면 ACL 이외의 것을 사용해야합니다.

사용자와 프로젝트 간의 관계를 포괄적인지 여부에 관계없이 정의하는 것이 가장 좋습니다.

ProjectUser 모델 (프로젝트 및 사용자의 HABTM)과 해당 모델의 간단한 함수 (아마도 userAllowed($projectId, $userId))가 필요합니다. 사용자에게 해당 프로젝트에 대한 액세스 권한이 있는지 확인합니다.