2013-10-03 59 views
0

在我的Synfony2 wep應用程序中,同一用戶可以具有兩種不同的角色。無論是員工還是老闆,他都可以。所以,我希望有一個切換按鈕,以便用戶對數據有不同的看法。例如,有一個老闆,用戶可以看到項目中的工作進展,而作爲一名員工,他會看到要在同一個項目中從團隊中的每個成員完成工作。所以基本上,老闆會對某些行爲有所特權,對其他人也有特權。Symfony2 - 兩個不同URL的相同路由名稱

我該如何做角色之間的切換?我打算爲每個角色/boss/todesemployee/todos分別提供兩個不同的網址。在某些情況下,我會使用相同的樹枝模板(例如todos列表)。當我需要通過始終指定相同的route_name path('todo_show', {'id': id})來生成URL(如/boss/todos/{id})時,我該怎麼辦?

我認爲它非常類似於_locale參數。是否可以在Symfony 2.3中創建類似於_locale的自定義參數?

在此先感謝!

回答

0

海事組織你覺得太複雜。爲兩個用戶創建一條路線,例如/ todo/{id},它會根據用戶的角色將用戶重定向到用戶特定的路線/ boss/todo/{id}或/ employee/todo/{id}。

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 
+0

這樣Frank6則要_user參數添加到模板,如果用戶不是老闆。我認爲他希望根據當前登錄的用戶進行自動用戶選擇。弗蘭克6我對嗎? – sickelap

+0

好的,但對於N個角色= 1參數與N接受值或N路線我猜 – vincenzodb

相關問題