如何在Restlet中使用MethodAuthorizer?

时间:2011-08-19 13:53:28

标签: authorization restlet

我目前正在开发一个使用Restlet API的项目。 现在,我的路由器将6个不同的URI路由到6个不同的资源。 我想要做的只是将我的2个资源中的DELETE和PUT方法仅限于授权用户。 我找不到任何关于MethodAuthorizer的示例或教程。有没有简单的方法呢?

1 个答案:

答案 0 :(得分:0)

我尝试使用MethodAuthorizer的方式与使用RoleAuthorizer的方式相同(解释here - 请参阅页面底部的示例代码)

Router router = new Router(getContext());
router.attach("/your/path", YourResource.class);    
MethodAuthorizer ma = new MethodAuthorizer();
ma.getAnonymousMethods().add(Method.GET); // your allowed method for all user
ma.getAuthenticatedMethods().add(Method.DELETE); // your allowed method to authenticated user
ma.setNext(route);

rootRouter.attach("/admin", ma);

但它似乎不是要走的路:( 但是,如果您查看安全API的workflow,我不应该远离解决方案。