16 define(
'SITE_ACCESS_ALL_ROLES', 0x01);
18 import(
'lib.pkp.classes.security.authorization.PolicySet');
30 function __construct($request, $operations, $roleAssignments, $message =
'user.authorization.loginRequired') {
31 parent::__construct();
32 $siteRolePolicy =
new PolicySet(COMBINING_PERMIT_OVERRIDES);
33 if(is_array($roleAssignments)) {
34 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
35 foreach($roleAssignments as $role => $operations) {
38 } elseif ($roleAssignments === SITE_ACCESS_ALL_ROLES) {
39 import(
'lib.pkp.classes.security.authorization.PKPPublicAccessPolicy');
42 throw new Exception(
'Invalid role assignments!');
56 $user = $request->getUser();
58 if (!is_a($user,
'User')) {
59 return AUTHORIZATION_DENY;
63 return parent::effect();