繁体   English   中英

在不同的公司中扮演不同的角色symfony 2.0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM