/** * Denies access if the module is successfully installed. * @param CFilterChain $filterChain * @throws CHttpException */ public function filterAccessControl($filterChain) { $accesscontrol = YiiPlug::app()->hasAccessControlModulesInstalled(); $user = YiiPlug::app()->hasUserModulesInstalled(); if (!$accesscontrol || !$user) { // no access control module available $filter = new CAccessControlFilter(); $rules = $this->accessRules(); $frules = array(); foreach ($rules as $key => $values) { $frule = array(); foreach ($values as $vkey => $value) { if (!$accesscontrol && $vkey !== 'roles') { // do not have accesscontrol module // skip role based access control (but keep other checks) $frule[$vkey] = $value; } } if ($user && $frule[0] === 'allow') { // has user authentication module // add authenticated user required for each action if (isset($frule['users'])) { $frule['users'][] = '@'; } else { $frule['users'] = array('@'); } } $frules[$key] = $frule; } $filter->setRules($frules); return $filter->filter($filterChain); } // we are in normal state, just do classic access control return parent::filterAccessControl($filterChain); }
public function filterAccessControl($filterChain) { parent::filterAccessControl($filterChain); }