2013-01-05 5 views
2

내 웹 사이트에서 나는 ABCpdf을 사용하여 HTML에서 동적으로 PDF를 생성합니다.로그인 영역 내의 페이지에 액세스하는 ABCpdf

  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 세션 모드를 사용하고 있습니다. 늘어나는만큼 사용자가 로그인 한 경우에도이 코드를 실행하면 서버에 로그인하지 않고 PDF를 렌더링하는 HTML 가져 오기 요청이 세션을 넘기지 않고 새로운 세션을 만듭니다.

아무도 내게 어떤 단서를 줄 수 있습니까?

답변

1

HTML을 렌더링 할 때 ABCPdf가 작동하는 방식은 렌더링 할 페이지에 액세스하는 사용자가 아니라 서버와 서버가 사용자 로그인 세션을 갖지 않으므로 페이지를 액세스 할 수있는 이유 일 수 있습니다. 방금 서버의 브라우저에 URL을 입력 한 경우 따라서 ABCpdf를 통해 페이지에 액세스하면 사용자가 로그인하지 않은 것처럼 작동합니다.

과거에이 문제를 극복 한 방법은 암호화 된 쿼리 문자열 pram을 페이지에 전달하고이를 확인하는 것입니다 PDF 렌더링 페이지에서 해당 pram 값을 기반으로 표시된 결과를 변경하십시오.