Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can someone explain "access arguments" in Drupal?

Can someone explain "access arguments" in Drupal? Trust me I have tried Googling it but I am just not getting a clear grasp.

like image 441
user363036 Avatar asked Jun 10 '10 22:06

user363036


2 Answers

in /admin/user/permissions you will see lots of access options. they come from drupal modules, and lets the site administrator distribute specific permissions to user roles (drupal provides 'anonymous' and 'registered' roles by default). modules declare them through hook_perm and they are as easy to use as:

function mymodulename_perm {
return array('use custom feature', 'use the other custom feature');
}

and they will show up there, ready to be used. now, in any function of yours, you can check for user access through user_access which is just as easy to use:

if (user_access('use custom feature')) {
  //do something
}
like image 180
Capi Etheriel Avatar answered Oct 23 '22 02:10

Capi Etheriel


Access arguments are the arguments passed to the function that checks if a user has access to a menu.

Given a menu callback definition as the following

  $items['blog/feed'] = array(
    'title' => 'RSS feed',
    'page callback' => 'blog_feed',
    'access callback' => 'custom_module_blog_access',
    'access arguments' => array('feed'),
    'type' => MENU_CALLBACK,
  );

The function custom_module_blog_access() will be called as custom_module_blog_access('feed'). If the function returns TRUE, then the user will be given access to the menu callback; differently, the user will see the error 403 page (access denied). Normally, the access callback is not defined, and by default Drupal will use user_access().

like image 38
apaderno Avatar answered Oct 23 '22 01:10

apaderno