2012-12-02 32 views
5

我有這個防火牆,其中包括以/ user或/ admin開頭的任何內容。如何從防火牆中排除路由? (或避免會話cookie)

firewalls: 
    main: 
     pattern: ^/(user|admin) 

但現在我需要排除/user/profile/{user_id}。這可以用正則表達式來完成嗎?現在,如果它排除以/ user/profile開頭的任何內容,如果更簡單,那就沒問題了。

Symfony2有沒有其他的機制來排除路由?

編輯

我需要完全排除說的路線,以避免發送會話cookie;只允許匿名訪問access_control是不夠的。如果你知道阻止該cookie的方法,它也可以是一個解決方案。

回答

18

我沒有測試此代碼,但是這個正則表達式應該工作:

firewalls: 
    main: 
     pattern: ^/(user|admin)(?!/profile) 
+1

它的工作,但我把它改爲'^ /(用戶(/ profile文件)|管理員?!)',它也工作。謝謝 – ChocoDeveloper