ABCpdf访问登录区域内的页面

本文关键字:区域 访问 登录 ABCpdf | 更新日期: 2023-09-27 17:50:42

在我的网站上,我使用ABCpdf从HTML动态生成pdf。我有两个条件:

  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的请求不会延续会话,而是创建一个新的会话。

有谁能给我点提示吗?

ABCpdf访问登录区域内的页面

原因可能是ABCPdf在呈现HTML时的工作方式是,不是用户访问页面来呈现,而是服务器和服务器不会有用户登录会话,它将访问页面,就好像您只是在服务器上的浏览器中键入URL一样。因此,当您通过ABCpdf访问页面时,它将表现得好像用户没有登录一样。

我过去克服这个问题的方法是将一个加密的查询字符串pram传递到页面,并在PDF呈现页面上检查这一点,并根据该pram值更改显示的结果。