Beispiel #1
0
 /**
  * 保存用户组对应的权限
  */
 static function saveAccess($group_id, $access)
 {
     GroupAccess::model()->deleteAllByAttributes(array('group_id' => $group_id));
     foreach ($access as $access_id) {
         $model = new GroupAccess();
         $model->group_id = $group_id;
         $model->access_id = $access_id;
         $model->save();
     }
 }
Beispiel #2
0
 /**
  * 生成权限列表
  */
 static function access($id)
 {
     if (!$id) {
         return false;
     }
     if (!cache('acl')) {
         $model = User::model()->findByPk($id);
         if ($model->groups) {
             //调用 models/Group
             foreach ($model->groups as $g) {
                 $access = GroupAccess::model()->findAllByAttributes(array('group_id' => $g->group_id));
                 if ($access) {
                     foreach ($access as $a) {
                         $list[] = GroupAccess::access($a->access_id);
                     }
                 }
             }
         }
         cache('acl', $list);
     }
     return cache('acl');
 }