2010-07-12 3 views
1

각 페이지의 각 개체를 검토 한 결과를 기반으로 내 관리 응용 프로그램의 탐색 메뉴를 가장 잘 조합하는 방법을 모색하고 있습니다. 이렇게하면 사용할 수있는 개체가있는 페이지 만 사용자가 메뉴에 표시됩니다!관리자 메뉴를 동적으로 어셈블하는 방법은 무엇입니까?

간단한 예로, 두 가지 사용자 유형이 있다고 가정 해 보겠습니다. 장관과 관리자. 나는 업데이트 할 수있는 두 개의 필드가있는 직원을 관리 할 수있는 간단한 관리 페이지가 있습니다. "주소"및 "생년월일". 일반적으로 두 필드는 모두 비밀리에 정상적인 CRUD 작업을 수행 할 수있는 액세스 수준을 가지고 있습니다. 관리자는 언젠가 와서 "생년월일"에 MANAGER 수준의 액세스가 필요하다고 결정합니다. 이는 페이지에서 해당 필드를 숨기거나 읽기 전용으로 만들 정도로 간단합니다. 이제 관리자가 갑자기 "주소"필드에 MANAGER 레벨 액세스가 필요하다고 결정합니다. 현재이 페이지에 비회원 사용자가 사용할 수있는 입력란이 없으므로 내 메뉴는 표시 여부를 어떻게 알 수 있습니까 (메뉴 옵션에 별도의 규칙을 만들지 않고)?

젠드에서 ACL과 내비게이션과 같은 것만이 메뉴 옵션으로 액세스 제어 개체를 만드는 것처럼 보입니다. 이것은 : http://www.tonymarston.net/php-mysql/role-based-access-control.html#menu-system 내가 물어 보는 것처럼 보이지만,이 특정 주제에 대해 이야기하는 데모 또는 코드 덩어리를 찾을 수 없습니다.

다음 질문은 DB의 페이지에있는 모든 개체의 목록을 유지해야하는 경우 왜 HTML에도 포함시키지 않고 대신 응용 프로그램을 동적으로 페이지를 어셈블하게하는 것입니다 보기 + 템플릿 사용 중? (물론 캐싱 될 수 있음)

제안 사항?

답변

1

거친 말로하면 개별 페이지 개체에 대한 사용 권한을 확인한 후 유효한 개체 수를 계산할 수 있습니다. count = 0이면 페이지를 생략합니다.

당신을위한 코드는 없지만 이것이 내가 취할 접근법의 이론적 근거입니다.

+1

감사합니다. 앤드류 (Andrew), 내가 겪어 왔던 것이 다소 많습니다. 각 페이지를 부모 노드로, 모든 페이지 객체를 자식으로하여 다차원 배열을 만드는 것입니다. 어린이가 없으면 페이지. 이것을하는 것이 일반적인 관행입니까? 이 프로젝트를 통합 한 프로젝트/프레임 워크에 대해 알고 있습니까? – boatingcow

+1

안녕 암소. 미안하지만 나는 두 가지 질문 중 하나에 답변 할 수있는 자격이 없습니다. PHP가 제 첫 번째 언어이므로 7 개월 동안 만 코딩했습니다. 그래도 행운을 빈다. – Drew

관련 문제