I am trying to implement access based control for a Survey app but having trouble designing a functional architecture. It seems like DAC would be a good fit for what I am trying to do, but am unsure.
Hierarchy
Survey Series -> Multiple Collection's of Survey's (1 survey that multiple people have to complete) -> Survey.
Examples
I have Survey Managers who need to assign collection creators. Collection creators assign users to a survey belonging to a collection. Each User can have different access controls based on each Series, Collection or Survey.
User 1 can only view surveys assigned to him, but can also assign surveys belonging to a specific collection to other users since he was given access by another Collection Creator.
User 2 can only view collections he has created and has been given access to and view the assigned surveys in each collection.
User 3 can create series but cannot view any collections to users he did not assign as collection creators.
Summary The access should be hieracle. Every record (Series, Collection, Survey) would have its own set of access controls [Create, Read, View, Update] that users delegate. Could I get some help with designing a model?