2

インターセプター内からルートまたはグループのメタデータにアクセスするにはどうすればよいですか?

次のようなルートに @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");
  }
}
4

1 に答える 1