[英]have different roles in different companies symfony 2.0
我正在尝试开发一个包含不同类型公司的应用程序,每个公司将扮演不同的角色。
这样,当超级管理员创建公司时,将定义可以附加到此类公司的角色。
例如,超级管理员可以创建一个购物中心,其中可以有一个店员和一个主任(他们每个人都有不同的权限); 还有另一种公司可以是咖啡店,可以有服务生和厨师。 然后,当用户在应用程序内部登录时,并想要创建一个新用户时,将只能选择该公司类型的角色。
但是我看不到使用security.yml文件和FOSUserBUndle开发的方法。
提前致谢!
为此,我认为您需要在控制器内部实现安全性逻辑。 使用security.yml可以限制整个范围,但是我认为这不会对您有帮助。 也许您可以首先定义一些仅某些角色可以访问的路由(例如,“ / waiter / *”代表服务员)
然后,您可以像执行新的角色一样实现; 每个公司都可以有一个“ possible_roles”字段,该字段将是一系列角色。 例如,如果possible_roles = { "ROLE_WAITER", "ROLE_CHEF" }
创建了一家咖啡店,那么您将拥有possible_roles = { "ROLE_WAITER", "ROLE_CHEF" }
之后,您只需要检查用户角色是否在公司角色的数组中,以及他是否有权访问该页面。
清楚吗 ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.