PermMill for Drupal

PermMill is a module that allows you to define fine-grained permissions on a per-page basis, by altering the menu.
It provides a way to re-define 'required' and 'sufficient' permissions to access a menu item, plus a custom user_access-like function to evaluate the new, more complex, 'access arguments' definition.

Usage example

I wrote this module since I wanted to allow a user to do things like modify site information, but not others like enabling/disabling modules. This cannot be done usually, since the core uses the same 'administer site configuration' permission for both actions.
With this module, you can now define custom permissions to let the user access only some administrative pages in admin/settings on a per-path basis.

More usage documentation is coming soon, although I think the administrative interface is quite clear. Anyways, don't expect this module to bee too user-friendly, since it is targeted to advanced power-users that knows exactly what they are going into.

This project is sponsored by 2V S.r.l.

UPDATE 2011-02-28: This module has been used on production sites for several months without a single issue - upgrading to beta and selecting as supported.

Project Information

Downloads