本文整理匯總了PHP中CController::filterAccessControl方法的典型用法代碼示例。如果您正苦於以下問題:PHP CController::filterAccessControl方法的具體用法?PHP CController::filterAccessControl怎麽用?PHP CController::filterAccessControl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CController
的用法示例。
在下文中一共展示了CController::filterAccessControl方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: filterAccessControl
/**
* 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);
}
示例2: filterAccessControl
public function filterAccessControl($filterChain)
{
parent::filterAccessControl($filterChain);
}