SelectPDF не разрешает правильного пользователя в веб-приложении с проверкой подлинности Windows
Я использую ASP.NET MVC и SelectPDF для создания PDF из URL. В основном... когда пользователь публикует документ... я передаю URL-адрес API Select PDF и сохраняю полученные байты в базе данных.
Я использую аутентификацию Windows.
ЗДЕСЬ ПРОБЛЕМА:
При вызове API "Выбрать PDF" ПОЛЬЗОВАТЕЛЬ ПРОЦЕССА и ПОЛЬЗОВАТЕЛЬ НИТИ решают обратиться к СЧЕТУ ОБСЛУЖИВАНИЯ.
ВОПРОС:
Как я могу убедиться, что в среде аутентификации Windows используются правильные учетные данные?
При использовании API...
ПОЛЬЗОВАТЕЛЬ ПОСТАНОВЛЯЕТ КАК:
- Пользователь процесса: DOMAIN \ svc_ServiceAccountName
- Пользователь темы: DOMAIN \ svc_ServiceAccountName <- плохо
НО ДОЛЖЕН БЫТЬ:
- Пользователь процесса: DOMAIN \ svc_ServiceAccountName
- Тема: Пользователь: DOMAIN \ Имя пользователя <- хорошо
API "Выбрать PDF", похоже, создает новую тему, не заботясь о режиме аутентификации.
СОВРЕМЕННАЯ ДОКУМЕНТАЦИЯ:
В документации сказано
The current user credentials will be used by the converter to authenticate automatically.
Тем не менее, это не так.
КОД выглядит так:
На протяжении всей жизни звонка... пользователи настроены правильно... я уже проверял.
// POST: /documents/RTF/publish
[HttpPost]
public ActionResult Publish(RequestToFlowMeterDocument entity)
{
var provider = Application.RequestToFlowMeterDocumentProvider as RequestToFlowMeterDocumentProvider;
provider.Publish(entity);
var format = Request.Url.Scheme + @"://" + Request.Url.Authority + "/documents/rtf/edit?documentId={0}&pdf=true";
var url = string.Format(format, entity.Id);
// Here is the culprit
provider.SavePdf(url, entity.Id);
return RedirectToAction("index", "home", new { Area ="" });
}