Как передать учетные данные объекту класса SparqlRemoteEndpoint?

Я использую базу данных GraphDB. Я хочу, чтобы объект класса SparqlRemoteEndpoint (ссылка) подключался к моей базе данных. Но пока я ввожу свои учетные данные, используя setCredentials(username, password), он говорит 401 unauthorized, поскольку использует дайджест-аутентификацию, а GraphDB использует базовую аутентификацию:

Код:

string query = "SELECT * WHERE {?s ?p ?o} LIMIT 50";
var endpoint = new VDS.RDF.Query.SparqlRemoteEndpoint(new Uri("http://localhost:7200/repositories/786"));
endpoint.SetCredentials("admin","admin");
SparqlResultSet results = endpoint.QueryWithResultSet(query);

Как решить проблему с этим типом аутентификации?


person samir jamadar    schedule 10.12.2018    source источник
comment
Существует возможность принудительной базовой аутентификации: github.com/dotnetrdf/dotnetrdf /wiki/ может это поможет   -  person UninformedUser    schedule 10.12.2018


Ответы (2)


Спасибо за ваш комментарий. Он работает, устанавливая ForceHttpBasicAuth на true (по умолчанию это False)

Заявление:

VDS.RDF.Options.ForceHttpBasicAuth = true;
person samir jamadar    schedule 10.12.2018

В зависимости от версии вы можете использовать обычную аутентификацию с допустимыми комбинациями имени пользователя и пароля в кодировке base-64 в качестве заголовка или использовать токен JWT. Некоторые рекомендации можно найти по адресу http://graphdb.ontotext.com/documentation/free/authentication.html

Я надеюсь, это поможет.

person Konstantin Petrov    schedule 10.12.2018