我有以下代码:如何将多个方法添加到多重路线的方法中?
$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