Вопрос

Я сталкиваюсь с задачей создания PDF с HTML -страницы на веб -сайте ASP.NET. (То, что пользователи могут хорошо сэкономить/печатать)

Я обнаружил, что WKHTMLTOPDF очень хорошо выполняет работу, посмотрев на это:

Вызов WKHTMLTOPDF для генерации PDF из HTML

Однако у меня есть проблема. Наш веб -сайт представляет собой интранет -сайт и использует аутентификацию Windows. Я могу передать свои учетные данные WKHTMLTOPDF, используя -USERNAME и -Пассу и продемонстрировать себе, что веб -страница генерируется, как вы надеетесь.

Проблема такова: что делать для каждого другого пользователя, который входит в нашу систему? Я могу вспомнить ряд возможных решений, которые могут / могут не работать, и я надеялся, что кто -то сможет дать мне некоторые мнения / руководство, поскольку я, кажется, подошел к концу своих исследований.

Возможные решения:

  1. Есть ли какой -либо способ в ASP.NET, который я могу извлечь имя пользователя и пароль из учетных данных пользователей для передачи в WKHTMLTOPDF? Я подозреваю, что ответ на это "нет и по разумным причинам"
  2. Можно ли запустить процесс и пройти учетные данные пользователей? Я вижу, что можно установить имя пользователя / пароль на процесс (хотя я не знаю, как я бы передал это из учетных данных, так как пароль, кажется, не подвергается раскрытию). Возможно, есть еще один метод передачи учетных данных непосредственно к процессу?
  3. Я мог бы создать отдельный веб -сайт PDFGenerator, который не использует аутентификацию Windows. Затем я мог бы перенести HTML/CSS/изображения с защищенного веб -сайта в общий каталог, а затем перенаправить пользователей на веб -сайт PDFGenerator, чтобы фактически генерировать PDF из HTML без необходимости беспокоиться о аутентификации (и вычистит HTML и т. Д. сгенерировано).

Я подозреваю, что 3 - это решение, которое я в конечном итоге убедил бы, что, по сути, это один большой обходной путь, чтобы решить проблему аутентификации, я очень открыт для лучших предложений или помощи 1 или 2!

Это было полезно?

Решение

Вы можете настроить подражание в web.config:

http://msdn.microsoft.com/en-us/library/aa292118%28v=vs.71%29.aspx

Это означает, что все, что выполняется, сделано как пользователь. Это может вызвать проблемы, хотя в определенных сценариях. Это означает, что сайт работает с учетными данными пользователя для этого сеанса, а не на личности пула приложений, и вам придется прыгать через обручи, чтобы настроить веб -приложение, чтобы функционировать должным образом и все еще быть в безопасности.

Вы должны отметить, что все, что вы запускаете, будет принять учетные данные пула приложений при большинстве обычных конфигураций. Вы можете изменить учетную запись для пула приложений. Это может позволить вам заблокировать вещи, предоставив доступ только от пользователя, который запускает пул приложений.

Другие альтернативы могут заключаться в том, чтобы иметь другое приложение, кроме основного приложения, которое использует подражание. Это может быть проще в управлении, чем преобразование всего вашего приложения для использования подражания. (У меня нет подробностей вашего проекта, поэтому здесь трудно дать конкретную рекомендацию.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top