The last few weeks I've been setting up some third party software in a test environment so that I can do some development work on it. The software is an enterprise CRM, with a myriad of features and options.
One feature of the software is its complex security model. Permissions can be set at a very detailed level: on each table, report, query, etc. Permissions are tied to groups, and users can be associated with multiple groups. Also, permissions are identified by different connection types (for instance: a LAN connection vs. a web connection.)
The end result of these options ...