我正在尝试开发一个包含不同类型公司的应用程序,每个公司将扮演不同的角色。
这样,当超级管理员创建公司时,将定义哪些角色可以附加到这种公司。
例如,超级管理员可以创建一个购物中心,其中可以有一个店员和一个主管(每个人都有不同的权限);还有另一种公司,可以是咖啡店,可以有服务员和厨师。然后,当一个用户登录到应用程序中,并且想要创建一个新用户时,只有选择他的公司角色的可能性。
但是我看不到开发方式,使用security.yml文件和FOSUserBUndle。
提前致谢!
我正在尝试开发一个包含不同类型公司的应用程序,每个公司将扮演不同的角色。
这样,当超级管理员创建公司时,将定义哪些角色可以附加到这种公司。
例如,超级管理员可以创建一个购物中心,其中可以有一个店员和一个主管(每个人都有不同的权限);还有另一种公司,可以是咖啡店,可以有服务员和厨师。然后,当一个用户登录到应用程序中,并且想要创建一个新用户时,只有选择他的公司角色的可能性。
但是我看不到开发方式,使用security.yml文件和FOSUserBUndle。
提前致谢!
出于这种目的,我认为您需要在控制器中实现您的安全逻辑;使用 security.yml 您可以限制整个区域,但我认为这对您的情况没有帮助。也许您可以先定义一些只能由某些角色访问的路由(例如,“/waiter/*”代表服务员)
然后你可以像一种新的角色一样实现;每个公司都可以有一个字段“possible_roles”,它将是一个角色数组。例如,如果超级管理员创建了一家咖啡店,那么您将拥有possible_roles = { "ROLE_WAITER", "ROLE_CHEF" }
之后,您只需检查用户的角色是否在公司角色的数组中,以及他是否有权访问该页面。
清楚吗 ?