|
|
|
Hi nuddernuby,
One advice that I give to people that are exquisite as far as permissions are concerned is to NOT use the All, Non-Admin and Admin set of permissions.
Because they are too much permissive, specially the All and Non-Admin.
They will sorta let anyone do anything.
If you want to do an effective job on permission controlling you must start from scratch.
What I mean is:
1) Determine which kind of users you have and what do you want them to be able to do.
If you find yourself seeing that you want users to only be able to work with only one company (like the situation you reported) then...
2) Create a Role with no permissions whatsoever.
3) Add to that Role the permission to view only one Company, allow view Company A as an example
4) Identify what other modules will they be able to access (by that I mean to see the top menu module name), view, add, edit, delete records from
5) Add those global module permissions to the Role too
6) Now on each of that set of homogeneous users go to their account and remove any other Roles they may have and give that one you created.
7) Whenever you identify a new group or set of homogeneous users, start another empty Role and build it from ground up.
web2Projects permissions are based on the idea that everything is denied unless permitted to, by default everything is softly denied when no permissions have been granted.
And granting groups of permissions like "All" and "All Non-Admin" modifies this behavior to everything or almost everything is permitted.
web2Projects permissions also work on a cascading flow, like a pyramid.
If a user can only see Company A, and he has been granted view permission over all Projects (or the Projects module), he will only be able to see Company A Projects.
But if he is only granted permission to view one Project, even if he has permission to see all Tasks (or the Tasks module), he will only be able able to see that Projects Tasks.
So there is an hierarchy of objects, where, Companies (along with Users) are top Objects, then Departments (along with Users) , then Projects, then Tasks, then Task logs, Files, Links and so on.
Sure it requires some extra work to fine tune it, but better safe than sorrow.
Cheers,
Pedro A. _________________ Peace!
|
|