Introduction of group based privileges.


Motivation for the group based/assigned privileges:
I have a potentially large and changing userbase, so assigning privileges individually is not an option; as it would be both a hassle (for the admins) and a potential error source (which we really don't want).

The user roles would be rather static so group based access would be the approach to go.

On the other hand the functionality and access is rather widespread and fine-grained  so privileges would be better suited for this (ie. changes mean hassle for the developer - yeah right, might get paid for that).

So assigning privileges to groups gives the advantages of both approaches, ease of managability for admin and dev.


The functionality is configurable such that any of group privileges and/or/neither user privileges are actually loaded, ie. it is possible to deactivate the loading of the privileges altogether leaving only the group membership based access control functioning, if so desired.

Codewise mostly a duplicate of the original methods ment for querying and changing the user privileges; for users it just means an additional query during login, for devs it's use as is.

Demo/userguide extended accordingly..