2013-04-02 6 views
0

좋아, 내가 좋아하는 XML 파일을 생성하는 코드를 다음젠드 탐색 권한

<?xml version="1.0" encoding="UTF-8"?> 
<configdata> 
    <nav> 
     <main> 
      <label>Home</label> 
      <alias>main</alias> 
      <uri>/</uri> 
      <privilege> 
       <super_admin>super_admin</super_admin> 
       <reg_user>reg_user</reg_user> 
      </privilege> 
      <status>active</status> 
      <sprite>sprite.png</sprite> 
      <pages> 
       <article> 
        <label>Article</label> 
        <alias>article</alias> 
        <uri>/article</uri> 
        <privilege> 
         <super_admin>super_admin</super_admin> 
         <reg_user>reg_user</reg_user> 
        </privilege> 
        <status>active</status> 
        <pages> 
         <insert> 
          <label>Insert</label> 
          <alias>insert</alias> 
          <uri>/article/insert</uri> 
          <privilege> 
           <super_admin>super_admin</super_admin> 
          </privilege> 
          <status>active</status> 
         </insert> 
         [...] 
        </pages> 
       </article> 
       [...] 
      </pages> 
     </main> 
    </nav> 
</configdata> 

내 문제는 내가 this link을 따라하기 때문에 내 URI의이 젠드의 ACL 형태 아님 모든 URI를 가져오고, 위의 코드에서 super_admin 및 reg_user로 명명 된 각 그룹의 권한을 관리하고 데이터베이스에 저장하는 데 도움이되었습니다.

이제는 특정 그룹에 액세스 할 수있는 특정 항목 만있는 메뉴를 렌더링하려고합니다.

- Home 
    - Article 
     - Insert 

그리고 나는 reg_user에 입력하면, 내 메뉴가 있어야한다 : 이것은 위의 XML을 사용하여 나는 super_admin에 입력하면, 나는이 같은 메뉴를했을 것을 의미

- Home 
    - Article 

어떻게하면됩니까? 당신이 젠드 ACL없이 수행 할 경우

은 내가 메뉴에 대한 자신의 부분 작성하는 것이 좋습니다 젠드 프레임 워크 1.11.x

답변

2

을 사용하고 있습니다. 그런 다음 xml 파일의 메뉴 항목 권한으로 현재 사용자 역할 (Zend_Registry에 아마도 저장되어 있음)을 확인합니다. 도움이

$properties = new Zend_Config($page->GetCustomProperties()); 
$privilege = $properties->privilege; 

희망 :

여기

당신은 당신이 같은 사용자 지정 XML 속성을 읽을 수 https://stackoverflow.com/a/1255289/760866

부분 사용자 정의 메뉴를 사용하는 방법을 볼 수 있습니다!

+0

글쎄, 내가 Zend_Registry에 가지고있다. 나는 나중에 그것을 시도 할 것이다. =) –

+0

그냥 질문 : 각 페이지에 대한 권한을 현재 사용자 권한과 비교해야합니까? –

+1

예 각 페이지에 대한 권한 속성을 읽은 다음 현재 사용자 역할과 비교합니다. generete 메뉴 링크와 일치하면 단순히 '계속하십시오'; 루프. – Dmonix