Kibana嵌入web系統簡單實現SSO


安裝X-pack之后需要登錄驗證,嵌入自己的web系統之后,如果不實現SSO,內嵌的必然需要登錄,這邊簡單實現下內部系統登錄的同時保持kibana也登錄成功。

  一.安裝X-pack之后需要登錄驗證,嵌入自己的web系統之后,如果不實現SSO,內嵌的必然需要登錄,這邊簡單實現下內部系統登錄的同時保持kibana也登錄成功。

 

    1.kibana自帶的登錄接口名稱/internal/security/login,

      Header 參數

        key-value =>kbn-version : 7.6.1

        key-value =>kbn-name : kibana

 

kibana登錄接口

 

 

       

  body的參數(用戶名和密碼都是自己es設置的用戶名和密碼):

    username:user

    password: password

 

然后請求獲取到cookie  sid:

    返回cookie

 

 

 

所以我們只要實現調用本地系統的同時,帶入es系統的用戶名和密碼,進行kibana的登錄即可。

 

  二、統一登出

    統一登出其實只要實現本地系統登出的同時,清除cookie即可,由於出現跨域,所有清除cookie需要設置domain.

    

 1     /**
 2  * 清除cookie  3  * @return
 4      */
 5  @ResponseBody  6     @PutMapping(value = "/clearcookie")  7     public ResponseEntity<ResultVo<?>> getCookies(HttpServletRequest httpServletRequest, HttpServletResponse response) {  8         try{  9             Cookie cookie = new Cookie("sid", null); 10             cookie.setDomain(httpServletRequest.getHeader("x-forwarded-host").split(":")[0]); 11             cookie.setPath("/"); 12             cookie.setHttpOnly(true); 13             cookie.setMaxAge(0); 14  response.addCookie(cookie); 15             return ResponseEntity.ok(new ResultVo<>(ResultStatus.SUCCESS)); 16         }catch (Exception ex){ 17             return ResponseEntity.ok(new ResultVo<>(ResultStatus.FAIL)); 18  } 19 
20     }

 

 

上述實現了統一登錄和統一登出的功能。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM