2016-10-24 2 views
1

Я пытаюсь подключиться к своей службе сертификатов через сервер Windows 2012. Я включил базовую аутентификацию по серверу, и я могу получить доступ к моей службе из браузера, указав имя пользователя и пароль. Я открываю соединение, используя HttpURLConnection в Java. Соединение успешно используется следующим кодом.Ошибка базовой аутентификации на сервере Windows 2012 Использование Java

static class MyAuthenticator extends Authenticator { 
    public PasswordAuthentication getPasswordAuthentication() { 
     System.out.println("trying to authenticate"); 
     return new PasswordAuthentication("user", "password".toCharArray()); 
    } 
} 

Authenticator.setDefault(new MyAuthenticator()) 

Но мне нужно подключиться, используя следующий код и он дает мне 401 ошибку:

String encoding = Base64.encode("user:password".getBytes()); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setRequestMethod("GET"); 
connection.setDoOutput(true); 
connection.setRequestProperty ("Authorization", "Basic " + encoding); 

Любая идея, почему я получаю 401.

Спасибо,

ответ

0

Базовая аутентификация Default Web Site на IIS Manager был включен, но Basic Authentication для определенного сайта не был включен. Включив Basic Authentication для конкретного сайта, разрешил проблему.

Смежные вопросы