Невозможно включить аутентификацию userpass в хранилище с помощью spring

Я пытаюсь включить режим аутентификации userpass в хранилище с помощью Шаблон весеннего отдыха, но получаю 403 - Запрещено, но тот же запрос, созданный в Почтальон, работает. Я пробовал использовать как PUT, так и POST, с X-Vault-Token (значение - корневой токен) в заголовке и типом (значение - userpass) в теле. Может ли кто-нибудь предоставить какое-либо исправление.

Пожалуйста, найдите приведенный ниже код для моего звонка на отдых:

public static ResponseEntity<?> httpLoginRequest(String serverUrl,
        HttpMethod method, HttpHeaders headers, JsonObject request, Class<?> responseType) {
    RestTemplate restTemplate = null;
    HttpEntity<?> requestEntity = null;

    try {
        restTemplate = new RestTemplate();
        restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
        restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
        restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
        /*messageConverters.add(new ByteArrayHttpMessageConverter());
        messageConverters.add(new StringHttpMessageConverter());*/
        if (request != null) {
            requestEntity = new HttpEntity<Object>(request.toString(), headers);
        } else {
            requestEntity = new HttpEntity<Object>(headers);
        }
    } catch (Exception e) {
        //throw new HolmesRuntimeException(e);
    }
    /*
    ClientHttpRequestInterceptor interceptor = new HttpRequestInterceptor();
    restTemplate.setInterceptors(Arrays.asList(interceptor));
    */
    return restTemplate.exchange(serverUrl, method, requestEntity, responseType);

}

Также заголовки, которые я добавил в свой запрос:

            headers = new HttpHeaders();
            headers.add("X-Vault-Token", headerValue);
            headers.add(HttpHeaders.CACHE_CONTROL, "no-cache");
            headers.add(HttpHeaders.ACCEPT, "*/*");
            headers.add(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate");
            headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, "*");
            headers.add(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, "POST, GET, PUT, DELETE");
            logger.info("Value of header object is {}",headers);

            request = new JsonObject();
            request.addProperty("type", "userpass");
            logger.info("Value of request object for authentication request is {}", request);
            ResponseEntity<?> responseAuth = CommonUtils.httpLoginRequest(url, HttpMethod.PUT, headers, request, String.class);

Поделитесь своими достижениями здесь. Фрагмент кода или шаблон были бы полезны.

Sivaprasanna Sethuraman 11.04.2018 13:50

@SivaprasannaSethuraman Я добавил фрагмент кода для того же. Проблема в том, что запрос работает из приложения POSTMAN

Keshav Bohra 11.04.2018 22:07
0
2
132
0

Другие вопросы по теме