У меня есть WebApi для нашего программного продукта, который использует аутентификацию Windows и пользовательскую авторизацию на основе базы данных для ограничения ресурсов. Я хотел бы написать внешний WebApi (настроенный для конкретного клиента), который также использует Windows аутентификацию и вызывает первый «продукт» WebApi для авторизации.
Моя идея состояла в том, чтобы просто передать IPrincipal или IIdentity объект, к которому я могу получить доступ в свойстве пользователя ApiController, но я не могу этого сделать.
Есть ли способ сделать это? Я хотел бы использовать RestSharp, если это возможно, но я всегда получаю z Несанкционированный ответ.
Код, который я пробовал, следующий:
var restClient = new RestClient("http://destinationServer/DestinationApi/api");
restClient.Authenticator = new NtlmAuthenticator();
var restRequest = new RestRequest("Authentication", Method.GET);
var restResult = this.restClient.Execute(restRequest);