modX.hasPermission
Last updated Sep 6th, 2026 | Page history | Improve this page | Report an issue
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn moremodX::hasPermission¶
Returns true if user has the specified policy permission in the current context ($modx->context). In the manager that context is usually mgr.
So $modx->hasPermission('publish_document') in manager code only sees Context Access policies attached to mgr. A policy that grants the same key on another context does not satisfy this check. See ACLs: Manager publishing and multiple groups.
Syntax¶
API Doc: modX::hasPermission()
boolean hasPermission (string|array $pm)
Example¶
Deny the user access if they don't have the permission 'edit_chunk' in their loaded Policies.
$pm = 'edit_chunk';
if (!$modx->hasPermission($pm)) {
die('Access Denied!');
}
It's also possible to check if the user has multiple permissions, like 'edit_chunk' and 'edit_template'. Like;
$pm = array('edit_chunk' => true, 'edit_template' => true);
if (!$modx->hasPermission($pm)) {
die ('Access Denied!');
}
See Also¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn more










