I am tasked with designing a new, role based access model for our system.
The requirements are something to the effect of the following:
A user can log in, and will have a different role depending on which client s/he is viewing.
- This part is easy: Client A -> Project Manager, Client B -> QA Analyst, etc.
The user can be part of teams.
- User A (member of) Team 1, Team 2, etc.
Here is the difficult part, in my mind. Depending on which project is being viewed, the user can be assigned totally new roles.
- Client A --> Project Manager is User A's real role, but for Project 1337, User A will be a QA Analyst.
Is there a good, coherent model to handle all of this, or will I need to create my own?