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