現時点では、CakePHPとMS SQLを使用してシステムを作成しています。 最初は標準のACLコンポーネントを使用しようとしましたが、CakePHPはMS SQLを完全にサポートしていないことがわかりました(少なくともこのコンポーネントでは)。 そのため、アクセスを共有する次の方法を考え出す必要がありました。 
      
        
        
        
      
    
      
        
        
        
      
     ユーザーを説明するUserモデルがあり、その中に管理者グループのメンバーシップを定義するis_adminフィールドがあると想定されています。 したがって、ゲスト、ユーザー、および管理者の3つのグループがあります。 
      
        
        
        
      
     このアプローチを実装するには、app_controller.phpにコードを追加する必要があります 
      
        
        
        
      
    
      
        
        
        
      
      <?php 
      
        
        
        
      
     クラスAppControllerはControllerを拡張します 
      
        
        
        
      
      { 
      
        
        
        
      
     関数beforeFilter() 
      
        
        
        
      
      { 
      
        
        
        
      
      $ allowedToUsers = isset($ this-> allowedToUsers)?  $ this-> allowedToUsers:array(); 
      
        
        
        
      
      $ allowedToGuests = isset($ this-> allowedToGuests)?  $ this-> allowedToGuests:array(); 
      
        
        
        
      
    
      
        
        
        
      
      $ group = $ this-> userGroup(); 
      
        
        
        
      
    
      
        
        
        
      
     スイッチ($グループ) 
      
        
        
        
      
      { 
      
        
        
        
      
     ケース「ユーザー」: 
      
        
        
        
      
      if(!in_array($ this-> action、$ allowedToUsers)) 
      
        
        
        
      
      { 
      
        
        
        
      
      $ this-> redirect( '/ pages / norights'); 
      
        
        
        
      
      } 
      
        
        
        
      
     休憩; 
      
        
        
        
      
     ケース「ゲスト」: 
      
        
        
        
      
      if(!in_array($ this-> action、$ allowedToGuests)) 
      
        
        
        
      
      { 
      
        
        
        
      
      $ this-> redirect( '/ users / login'); 
      
        
        
        
      
      } 
      
        
        
        
      
     休憩; 
      
        
        
        
      
      } 
      
        
        
        
      
      } 
      
        
        
        
      
     関数userGroup() 
      
        
        
        
      
      { 
      
        
        
        
      
      $ user = $ this-> Session-> read( 'User'); 
      
        
        
        
      
      $ ret = ''; 
      
        
        
        
      
      if(empty($ user ['name'])) 
      
        
        
        
      
      { 
      
        
        
        
      
      $ ret = 'guest'; 
      
        
        
        
      
      } 
      
        
        
        
      
      else if(intval($ user ['is_admin'])== 1) 
      
        
        
        
      
      { 
      
        
        
        
      
      $ ret = 'admin'; 
      
        
        
        
      
      } 
      
        
        
        
      
     他に 
      
        
        
        
      
      { 
      
        
        
        
      
      $ ret = 'user'; 
      
        
        
        
      
      } 
      
        
        
        
      
      return $ ret; 
      
        
        
        
      
      } 
      
        
        
        
      
    
      
        
        
        
      
      } 
      
        
        
        
      
      ?> 
      
        
        
        
      
    
      
        
        
        
      
     アプリケーションコントローラーの制限を確立するために残ります。 これを行うには、対応するグループへのアクセスを許可されているコントローラーアクションのリストを含む$ allowedToUsersおよび$ allowedToGuests配列を追加します(管理者はすべて許可されていると想定されます)。 
      
        
        
        
      
     クラスStudentControllerはAppControllerを拡張します{ 
      
        
        
        
      
    
      
        
        
        
      
      var $ name = 'Students'; 
      
        
        
        
      
      var $ helpers = array( 'Html'、 'Form'、 'Time'); 
      
        
        
        
      
    
      
        
        
        
      
      var $ allowedToUsers = array( 'index'、 'view'、 'add'、 'edit'、 'delete'); 
      
        
        
        
      
      var $ allowedToGuests = array(); 
      
        
        
        
      
    
      
        
        
        
      
     できた