ABCpdf доступ к страницам в области входа

На своем веб-сайте я использую ABCpdf для динамического создания PDF-файла из HTML. У меня два условия:

  1. Пользователь вошел в систему, отображается первая страница и рисуется первая страница в формате pdf
  2. Пользователь не вошел в систему, показана вторая страница и нарисована вторая страница в формате pdf

Мой код такой:

 string url = HttpContext.Current.Request.Url.AbsoluteUri;
        Doc theDoc = new Doc();
        theDoc.AddImageUrl(url);
        theDoc.Save(HttpContext.Current.Server.MapPath("~/media/pdf/1212.pdf"));
        theDoc.Clear();

Теперь проблема в том, что я могу видеть первую страницу, когда пользователь вошел в систему, но когда PDF-файл нарисован, он содержит не зарегистрированную страницу (вторая страница).

Я использую режим сеанса inproc для хранения данных для входа. Насколько я понял, даже если пользователь вошел в систему, когда этот код выполняется, сервер возвращает незарегистрированную страницу, запрос на получение HTML для рендеринга PDF не переносит сеанс, а создает новый.

Может ли кто-нибудь дать мне какую-нибудь подсказку?


person None    schedule 05.01.2013    source источник


Ответы (1)


Причина может заключаться в том, что способ работы ABCPdf при рендеринге HTML заключается в том, что не пользователь получает доступ к странице для рендеринга, а сервер и сервер не имеют сеанса входа пользователей, он будет получать доступ к странице, как если бы вы только что набрали URL в браузере на сервере. Поэтому, когда вы получаете доступ к странице через ABCpdf, она будет действовать так, как будто пользователь не вошел в систему.

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

person TheAlbear    schedule 09.01.2013