如何在 dropwizard 中设置 header 身份验证

how to set header authentication in dropwizard

我建了一个小 api。 我想为我的 api 实施 header 身份验证。 当用户想要访问我的 api 时,他会发送他的 api 密钥以及 api url。如果 api 密钥在我的数据库中,那么他将获得访问权限,否则他将无法访问 api.

如果你想验证单一方法 那么您可以直接在方法本身中查找 header 。像

    @GET
    public Response processRequest(
            @HeaderParam("X-APIKEY")              
            @DefaultValue("INVALID_OR_GUEST_KEY") String apikey , ...) 

如果您想为所有(或大部分)方法建立此功能,那么您最好使用过滤器。看看 http://www.dropwizard.io/0.9.2/docs/manual/core.html#jersey-filters and http://www.dropwizard.io/0.9.2/docs/manual/core.html#servlet-filters 。 您可以在那里实现您的密钥查找逻辑

(PS 您可能还想考虑缓存它们,但那是另一回事了)。