I'm working on an SF2 app (my first) and am looking for some guidance wrt. access controls. I don't think ACLs fit the requirements so I thought I'd ask around and see if someone has run into something similar and has some thoughts to share.
The purpose of the application is to manage Log entities for Widget entities. Widget entities belong to a Group entity. Groups are organized into multi-rooted tree hierarchies, one root Group entity for each Organization entity. So, logs belong to a widget which belongs to a group (which belongs to a parent group...) which belongs to an organization. Users are assigned to zero or more organizations. They cannot access groups or widgets in organizations they are not assigned to. Users are assigned to zero or more groups. If they are not assigned to any groups within an organization, they can access all of that organization's groups and widgets. If they are assigned to one or more groups within an organization, they can only access the assigned groups and their contained subgroups and widgets. Users are assigned a role which determines what actions they can perform on the entities they have access to. Roles are layered inheriting the privileges of lower levels. From low to high, they are: * GUEST allows read-only access. * USER adds creation of logs for accessible widgets as well as editing of own logs. * MANAGER adds editing of assigned groups and create/edit/delete subgroups, widgets and logs. * ADMIN adds editing assigned organizations and full access to their groups, widgets and logs * SYSADMIN adds full access to all organizations I've read what I can find on SF2's ACLs but I don't see how this kind of access scheme can be managed well with them. Maybe I'm wrong. I'm inclined to manually implement the logic I've described. My EntityRepository classes would have get*() methods that used the current user to filter results. My Entity classes would have can*() methods that return true if the current user can perform the action. My controllers would use these to control access. So, how far off base am I here? :) Paul -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en