From Joomla! Documentation

< API16:JAccess

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.


Method to check if a user is authorised to perform an action, optionally on an asset.

<! removed transcluded page call, red link never existed >


static check($userId, $action, $asset=null)
Parameter Name Default Value Description
$userId Id of the user for which to check authorisation.
$action The name of the action to authorise.
$asset null Integer asset id or the name of the asset as a string. Defaults to the global asset node.


boolean True if authorised.

Defined in[edit]



jimport( 'joomla.access.access' );

Source Body[edit]

public static function check($userId, $action, $asset = null)
        if (self::$isRoot) {
                return true;
                // Sanitize inputs.
                $userId = (int) $userId;

                $action = strtolower(preg_replace('#[\s\-]+#', '.', trim($action)));
                $asset  = strtolower(preg_replace('#[\s\-]+#', '.', trim($asset)));

                // Default to the root asset node.
                if (empty($asset)) {
                        $asset = 1;

                // Get the rules for the asset recursively to root if not already retrieved.
                if (empty(self::$assetRules[$asset])) {
                        self::$assetRules[$asset] = self::getAssetRules($asset, true);

                // Get all groups against which the user is mapped.
                $identities = self::getGroupsByUser($userId);
                array_unshift($identities, $userId * -1);

                // Make sure we only check for core.admin once during the run.
                if (self::$isRoot === null)
                        if (self::getAssetRules(1)->allow('core.admin', $identities)) {
                                self::$isRoot = true;
                                return true;
                        else {
                                self::$isRoot = false;

                return self::$assetRules[$asset]->allow($action, $identities);

<! removed transcluded page call, red link never existed >


Code Examples[edit]