インターセプター内からルートまたはグループのメタデータにアクセスするにはどうすればよいですか?
次のようなルートに @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");
}
}