我目前正在开发一个使用Restlet API的项目。 现在,我的路由器将6个不同的URI路由到6个不同的资源。 我想要做的只是将我的2个资源中的DELETE和PUT方法仅限于授权用户。 我找不到任何关于MethodAuthorizer的示例或教程。有没有简单的方法呢?
答案 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,我不应该远离解决方案。