We are building a database management system in water resources which will be managed by many users and access by public users. In our system, we manage the objects (Channel, Weirs, Borehole...) and their properties. We would to build a function that allow the superuser could register another users with controller, actions and id of the data object. For example, the managers at District A have full permission with all data object which located in district A only while some other people who also can access data object in district A but for input data only (water level input for example). There will be hundred of people who will manage and contribute the database depend on the level of the unit where they work, their role (view, edit, delete...), and data object which they response. It is really dynamic user management function. A prototype system to manage data is building in PHP with Symfony2 and upgrading to Symfony3. Now we need to build the user management functions as discuss to startlaunching the system.
Do anyone have experience in database structure, bundles, model... to solve this problem. Thank you.