访问redstone拦截器

时间:2016-12-05 19:47:20

标签: dart redstone.dart

如何从拦截器中访问路径或组元数据?

我想将@public()添加到以下路线:

@app.Route("/user/find/:id")
@public()
getUser(String id) => {"name": "User", "login": "user"};

创建一个拦截器,阻止访问没有公共元数据的路由,并且没有记录用户。这可能吗?

@app.Interceptor(r'/admin/.*')
adminFilter() {
  if (app.request.session["username"] != null || CURRENT_ROUTE_HAS_PUBLIC_METADATA) {
    return app.chain.next();
  } else {
    return app.chain.abort(HttpStatus.UNAUTHORIZED);
    //or app.chain.redirect("/login.html");
  }
}

1 个答案:

答案 0 :(得分:2)

我在包中公开了方法镜像和组镜像的选项。有了这个,我可以检索所有公开的路径模式的方法。