安装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     }

 

 

上述实现了统一登录和统一登出的功能。

  

版权声明:本文为insearch原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/insearch/p/12894913.html