簡體   English   中英

使用 Jersey 2 為 rest api 實現基本身份驗證

[英]Implement basic Authentication for rest api using Jersey 2

我已經使用Jersey 2 (Tomcat 服務器)公開了一些 rest api,並使用ContainerRequestFilter過濾器成功實現了Basic authentication (只需要身份驗證而不是授權),如下所示

public class AuthFilter implements ContainerRequestFilter{

    @Context
    HttpServletRequest request;

    @Override
    public void filter(ContainerRequestContext context)  {
     ............................
     //getting username/password authorization header and validating

當我告訴我的主管時,他說不要使用過濾器,因為每次你的 REST API 被點擊時,這個過濾器都會被調用。因此,在容器級別實現基本的身份驗證安全。我正在使用 Tomcat 服務器。 web.xml ,這是定義的

<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

上面是他指的嗎? 任何人都可以指導我如何實施我的領導所說的方式嗎?

文檔為您提供了有關如何通過 web.xml 進行配置的示例 您需要使用屬於領域的login-configlogin-config它。 然后,Web 容器負責根據 URL 模式保護資源。

  • 請注意,數據是通過 HTTP 標頭以純文本(以編碼形式)發送的,因此您需要想辦法確保不會被窺探(如 HTTPS)。
  • 無論您是在過濾器上還是在容器上檢查此標頭,都不會減輕您進行檢查所需的開銷(這可能可以忽略不計,但我從未分析過代碼的這一區域以引用數字)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM