(1)_code/myapp.php文件中:
/**
* 访问被拒绝时的错误处理函数
*/
protected function _on_access_denied()
{
$message = "";
require(_MYAPP_DIR_ . '/view/403.php');
exit;
//当用户未登录或未注册时,页面重定向到登录页面
$roles = $this->currentUserRoles();
if (empty($roles))
{
// 如果当前用户没有角色,则转到登录页面
return new QView_Redirect(url('users/login'));
}
}
(2)_code/_config/acl.config.php文件中:
如:
<?php
return array(
'default'=>array(
'allow' => 'ACL_EVERYONE',
),
'users'=>array(
'allow' => 'ACL_EVERYONE',
'actions'=>array(
'index'=>array(
'allow'=>'ACL_HAS_ROLE'
),
'profile'=>array(
'allow'=>'ACL_HAS_ROLE'
),
'changepassword'=>array(
'allow'=>'ACL_HAS_ROLE'
)
)
),
'admins'=>array(
'allow' => 'ACL_EVERYONE',
'actions'=>array(
'index'=>array(
'allow'=>'ACL_HAS_ROLE'
)
)
),
'orders'=>array(
'allow' => 'MEMBER',
),
'orderitems'=>array(
'allow' => 'MEMBER',
),
'collections'=>array(
'allow' => 'MEMBER',
),
'receivers'=>array(
'allow' => 'MEMBER',
),
'categorys'=>array(
'allow' => 'MEMBER',
'actions'=>array(
'showcategory2'=>array(
'allow'=>'ACL_EVERYONE'
)
)
),
'books'=>array(
'allow' => 'ACL_EVERYONE',
'actions'=>array(
'booklist'=>array(
'allow'=>'MEMBER'
),
'delete'=>array(
'allow'=>'MEMBER'
),
'edit'=>array(
'allow'=>'MEMBER'
),
)
)
);