C#에서 IronPDF와 쿠키를 사용하여 안전한 PDF를 생성하는 방법

C#에서 IronPDF와 쿠키를 사용하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF는 RequestContext 속성과 ApplyCookies 메서드를 사용하여 쿠키를 PDF 렌더링에 통합하고, HTML을 PDF로 변환하는 동안 세션 정보와 사용자 인증을 유지합니다.

쿠키는 웹사이트가 사용자 기기에 저장하는 작은 데이터 조각입니다. 이들은 세션을 관리하고, 사용자 행동을 추적하며, 환경 설정을 저장합니다. GDPR 및 CCPA와 같은 개인정보 보호 규정으로 인해 쿠키 관리에 대한 관심이 높아졌고, 이에 따라 브라우저는 사용자에게 쿠키 처리 방식에 대한 더 큰 제어 권한을 제공하게 되었습니다.

IronPDF의 Chrome 렌더링 엔진을 사용할 경우, 쿠키는 HTML을 PDF로 변환하는 과정 동안 상태를 유지합니다. 이는 TLS 웹사이트 인증 및 시스템 로그인 또는 사용자별 기본 설정이 필요한 페이지를 렌더링할 때 필수적입니다.

빠른 시작: IronPDF에서 쿠키 사용하기

IronPDF를 사용하여 PDF 렌더링 프로세스에 쿠키를 통합하세요. 이 가이드는 IronPDF API를 사용하여 HTML을 PDF로 변환하는 동안 쿠키를 관리하는 방법을 보여줍니다. 최소한의 코드로 RequestContext 속성과 ApplyCookies 메서드를 사용하여 표준 또는 사용자 지정 쿠키를 적용합니다.

Nuget Icon지금 바로 NuGet을 사용하여 PDF 만들기를 시작하세요.

  1. NuGet 패키지 관리자를 사용하여 IronPDF를 설치하세요.

    PM > Install-Package IronPdf

  2. 다음 코드 조각을 복사하여 실행하세요.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { RequestContext = IronPdf.Rendering.RequestContexts.Global, CustomCookies = new Dictionary<string, string> { { "sessionId", "your_cookie_value" } } } }
        .RenderUrlAsPdf("https://example.com/protected")
        .SaveAs("secureWithCookies.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    지금 바로 무료 체험판을 통해 프로젝트에서 IronPDF를 사용해 보세요.
    arrow pointer


PDF 렌더링에 쿠키를 적용하는 방법은 무엇인가요?

RequestContext 속성이란 무엇입니까?

쿠키를 적용하기 전에 RequestContext 속성을 RequestContexts.Global로 설정하십시오. ChromeHttpLoginCredentials 클래스를 생성하고 ApplyCookies 메서드에 전달합니다. 그런 다음 렌더러는 쿠키를 사용하여 HTML 콘텐츠를 PDF로 렌더링합니다.

RequestContext 속성은 HTTP 요청 헤더 및 인증과 함께 작동합니다. 이는 렌더링 세션 간의 쿠키 공유를 결정하며, 여러 PDF 생성 과정에서 세션 상태를 유지하는 애플리케이션에 매우 중요합니다.

ApplyCookies 메서드는 어떻게 사용하나요?

IronPDF를 사용하여 쿠키를 적용합니다.

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-cookies.cs
using IronPdf;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;

ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
    NetworkUsername = "testUser",
    NetworkPassword = "testPassword"
};

string uri = "http://localhost:51169/Invoice";

// Apply cookies
renderer.ApplyCookies(uri, credentials);
$vbLabelText   $csharpLabel

이 방법은 인증이 필요한 ASPX 페이지를 PDF로 변환하거나 ASP.NET MVC 애플리케이션을 사용할 때 효과적입니다.

어떤 RequestContext를 선택해야 할까요?

RequestContexts Enum은 렌더링 간의 관계를 설정하는 브라우저 요청 컨텍스트를 정의합니다. 쿠키와 사용자 환경설정을 관리합니다.

  • 격리됨 : 새롭고 격리된 요청 컨텍스트를 생성합니다. 현재 렌더링이 이전 렌더링의 영향을 받지 않도록 합니다. 멀티스레드 PDF 생성 에 이상적입니다.
  • 전역 : 모든 렌더링 간에 공유되는 전역 요청 컨텍스트를 사용합니다. 렌더링 간에 브라우저 상태를 유지합니다. PDF 작업 전반에 걸쳐 세션 데이터를 유지하는 데 적합합니다.
  • 자동 : 기본값은 IronPdf.Rendering.RequestContexts.Isolated입니다. IronPdf.ChromePdfRenderer.ApplyCookies(System.String, IronPdf.ChromeHttpLoginCredentials)가 호출된 경우 IronPdf.Rendering.RequestContexts.Global로 전환합니다.

Blazor Server 애플리케이션 에서 쿠키를 구현할 때는 서버 측 렌더링 간에 적절한 세션 상태를 유지하기 위해 적절한 RequestContext를 선택해야 합니다.


맞춤 쿠키는 어떻게 적용하나요?

IronPDF에서 사용자 지정 쿠키란 무엇인가요?

사용자 지정 쿠키를 사용하려면 CustomCookies 속성을 설정해야 합니다. 이 속성은 문자열 키-값 쌍 딕셔너리를 허용합니다. 사용자 지정 쿠키는 복잡한 인증 시스템을 처리하거나 렌더링 중에 애플리케이션 수준 데이터를 전달합니다.

사용자 지정 쿠키는 표준 HTTP 쿠키와 달리 모든 키-값 쌍을 정의할 수 있다는 점에서 차이가 있습니다. 이러한 유연성은 JWT 토큰, 세션 ID 또는 사용자 지정 인증 메커니즘을 사용하는 최신 웹 애플리케이션에 적합합니다.

사용자 지정 쿠키를 구현하는 방법은 무엇인가요?

IronPDF를 사용하여 사용자 지정 쿠키를 적용하세요:

:path=/static-assets/pdf/content-code-examples/how-to/cookies-apply-custom-cookies.cs
using IronPdf;
using System;
using System.Collections.Generic;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

Dictionary<string, string> customCookies = new Dictionary<string, string>();

// Apply custom cookies
renderer.RenderingOptions.CustomCookies = customCookies;

var uri = new Uri("https://localhost:44362/invoice");
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);
$vbLabelText   $csharpLabel

이 접근 방식은 상태 관리를 위해 쿠키를 사용하거나 사용자 지정 로깅 솔루션을 구현하는 JavaScript 중심 사이트에 적합합니다.

맞춤 쿠키와 일반 쿠키는 언제 사용해야 할까요?

사용자 지정 쿠키는 표준 HTTP 자격 증명으로 관리되지 않는 특정 세션 데이터 또는 인증 토큰을 처리합니다. 사용자 지정 인증 시스템과 함께 사용하거나 PDF 생성 중 사용자 기본 설정을 유지하는 데 사용할 수 있습니다.

표준 쿠키(ApplyCookies 방식을 통해)가 적합합니다:

  • 기본 HTTP 인증
  • Windows 인증 환경
  • 간편한 세션 관리

맞춤형 쿠키는 다음과 같은 경우에 탁월합니다:

  • JWT 토큰 기반 인증
  • 다양한 매개변수를 사용한 복잡한 세션 관리
  • 타사 인증 제공업체(OAuth, SAML)
  • 사용자 환경설정 및 관리
  • 분석 및 추적 요구 사항

쿠키 구현 시 흔히 발생하는 문제점은 무엇인가요?

일반적인 문제로는 Isolated 컨텍스트를 사용하여 렌더링 간에 쿠키가 유지되지 않는 문제, 잘못된 쿠키 값으로 인한 인증 실패, PDF 생성 전에 쿠키가 만료되는 타이밍 문제 등이 있습니다. 쿠키의 유효성을 확인하고 지속적인 세션을 위해 Global 컨텍스트를 고려하십시오.

문제 해결 팁:

  1. 쿠키 만료 : 쿠키가 만료되지 않았는지 확인합니다. 수명이 짧은 토큰에 대한 갱신 로직을 구현하세요.
  2. 도메인 제한 : 쿠키 도메인이 렌더링된 URL과 일치하는지 확인하십시오.
  3. 보안 쿠키 : HTTPS URL을 렌더링할 때 보안 쿠키를 올바르게 구성하십시오.
  4. 동일 사이트 정책 : 교차 출처 요청에 영향을 미치는 브라우저의 동일 사이트 쿠키 정책을 고려하십시오.

고급 인증 및 쿠키 시나리오에 대해서는 사용 가능한 모든 PDF 생성 사용자 지정 설정이 포함된 렌더링 옵션 문서를 참조하십시오.

자주 묻는 질문

HTML을 PDF로 변환할 때 쿠키를 적용하는 방법은 무엇인가요?

IronPDF에서 쿠키를 적용하려면 ChromePdfRenderer의 RequestContext 속성을 RequestContexts.Global로 설정한 다음, ChromeHttpLoginCredentials를 사용하여 ApplyCookies 메서드를 호출하십시오. 이렇게 하면 HTML을 PDF로 변환하는 과정에서 쿠키가 올바르게 전송됩니다.

RequestContext 속성은 무엇에 사용되나요?

IronPDF의 RequestContext 속성은 렌더링 세션 간에 쿠키가 공유되는 방식을 결정합니다. 이 속성은 HTTP 요청 헤더 및 인증과 연동되므로 여러 PDF 생성 과정에서 세션 상태를 유지해야 하는 애플리케이션에 매우 중요합니다.

PDF 렌더링 중에 사용자 지정 쿠키를 추가할 수 있나요?

네, IronPDF는 CustomCookies 속성을 통해 사용자 지정 쿠키를 허용합니다. 쿠키 키-값 쌍으로 구성된 딕셔너리를 생성하고 ChromePdfRenderer의 RenderingOptions.CustomCookies 속성에 할당하기만 하면 됩니다.

쿠키로 보호된 페이지를 PDF로 렌더링하려면 어떻게 해야 하나요?

IronPDF의 ChromePdfRenderer를 사용할 때 RequestContext를 Global로 설정하고 CustomCookies 속성을 통해 쿠키를 추가하세요. 그런 다음 보호된 URL을 사용하여 RenderUrlAsPdf()를 호출합니다. 렌더러가 요청에 쿠키를 포함하여 보호된 콘텐츠에 접근할 수 있도록 해줍니다.

PDF 렌더링에서 쿠키는 어떤 유형의 인증을 처리할 수 있나요?

IronPDF의 쿠키 통합 기능은 TLS 웹사이트 인증, 시스템 로그인, 세션 기반 인증 등 다양한 인증 시나리오를 지원합니다. 이는 사용자 인증이 필요한 ASPX 페이지 또는 ASP.NET MVC 애플리케이션을 변환할 때 특히 유용합니다.

HTML을 PDF로 변환할 때 쿠키가 중요한 이유는 무엇인가요?

쿠키는 IronPDF의 Chrome 렌더링 엔진을 사용하여 HTML을 PDF로 변환하는 과정에서 상태를 유지합니다. 쿠키는 인증이 필요한 페이지를 렌더링하고, 사용자별 기본 설정을 보존하며, 변환 과정 전반에 걸쳐 세션 정보를 유지하는 데 필수적입니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다