我有以下代碼:如何將多個方法添加到多重路線的方法中?
$r->find('user')->via('post')->over(authenticated => 1);
鑑於路線我能得到通過認證檢查 即使用Mojolicious ::插件::驗證設置用戶路徑。
我想添加另一個'over'到該路線。
$r->find('user')->via('post')->over(authenticated => 1)->over(access => 1);
雖然這看起來會覆蓋已驗證的'over'。
我想分手的路線與名稱類似:
my $auth = $r->route('/')->over(authenticated => 1)
->name('Authenticated Route');
$access = $auth->route('/user')->over(access => 1)->name('USER_ACCESS');
這並沒有在所有的工作雖然。 'over'都沒有被訪問。
我的路由類似於/ user,/ item,使用MojoX :: JSON :: RPC :: Service設置。 所以,我沒有像/ user /:id這樣的東西來設置子路由(不太確定) 所有路由都是/ user,通過參數發送。
我有像一個條件:
$r->add_condition(
access => sub {
# do some stuff
},
);
即在$ R- '訪問'>路線( '/用戶') - >過(存取=> 1);
總之,使用航線時,做工精細:
$r->find('user')->via('post')->over(authenticated => 1);
但我無法添加第二個途徑。
那麼,我在設置這些具有多個條件的路線時缺少什麼? 是否可以向單個路由/路由名稱添加多個條件?
我注意到我在實施RBAC的同樣的事情。我希望獲得基於特權的訪問授權,以表現得像樹,這意味着鏈接。沒有解決。我想這就是爲什麼他們給了我們橋樑。 :) – DavidO 2012-08-17 03:40:03
我的問題是,我有一個'add_condition'路由修飾符中的路由,如上面的代碼所示。所以,我無法與他們建立聯繫。我想我可以將這個條件作爲一個函數移動到一個模塊中,並使用一個橋。事實上,我把它放在了一個before_dispatch掛鉤中。 – jmcneirney 2012-08-17 17:17:48