0

在我的 Synfony2 wep 应用程序中,同一个用户可以拥有两个不同的角色。他可以是雇员,也可以是老板。所以,我想要一个切换按钮来改变角色,以便用户对数据有不同的看法。例如,如果有老板,用户会看到项目中的工作进度,而作为员工,他会看到同一项目中团队的每个成员要完成的工作。所以基本上,老板对某些行动有特权,而员工对其他一些行动有特权。

我应该如何进行角色之间的切换?我计划为每个角色设置两个不同的 url/boss/todesemployee/todos. 在某些情况下,我会使用相同的树枝模板(例如待办事项列表)。当我需要生成 URL(例如/boss/todos/{id}始终指定相同的 route_name )时,我该怎么做path('todo_show', {'id': id})

_locale我认为它与参数非常相似。是否可以创建类似于_localeSymfony 2.3 中的自定义参数?

提前致谢 !

4

2 回答 2

0

IMO 你觉得太复杂了。为两个用户创建一个路由,例如 /todo/{id},它将根据用户的角色将用户重定向到用户特定的路由 /boss/todo/{id} 或 /employee/todo/{id}。

于 2013-10-03T06:08:12.780 回答
0

在路由配置文件中设置默认参数还不够?

todo_show:
    pattern:  /{_user}/todos/{id}
    defaults: { _controller: YourAppBundle:Default:getTodos, _user: boss }
    requirements:
        _user: boss|employee       
    methods:  [GET]

接着:

path('todo_show', {'id': id, '_user': 'employee'}); // for boss there is no need to specify _user
于 2013-10-03T06:09:45.397 回答