Jak korzystać z plików cookie w IronPDF w celu bezpiecznego generowania plików PDF w języku C#

Jak korzystać z cookies z IronPDF w C

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

IronPDF wykorzystuje właściwość RequestContext oraz metodę ApplyCookies do integracji plików cookie z renderowaniem plików PDF, zachowując informacje o sesji i uwierzytelnienie użytkownika podczas konwersji HTML do PDF.

Cookies są małymi fragmentami danych, które strony internetowe przechowują na urządzeniach użytkowników. Zarządzają sesjami, śledzą zachowanie użytkownika i przechowują ustawienia preferencji. Regulacje dotyczące prywatności, takie jak RODO i CCPA, zwiększyły nacisk na zarządzanie cookies, zachęcając przeglądarki do oferowania użytkownikom większej kontroli nad obsługą cookies.

Korzystając z silnika renderującego Chrome w IronPDF, cookies utrzymują stan podczas procesu konwersji HTML do PDF. Jest to niezbędne podczas renderowania stron wymagających uwierzytelniania TLS na stronach internetowych oraz logowania do systemu lub preferencji specyficznych dla użytkownika.

Szybki start: Używanie cookies w IronPDF

Zintegruj cookies w procesie renderowania PDF z IronPDF. W niniejszym przewodniku pokazano wykorzystanie interfejsu API IronPdf do zarządzania plikami cookie podczas konwersji HTML do formatu PDF. Zastosuj standardowe lub niestandardowe pliki cookie, używając właściwości RequestContext i metody ApplyCookies przy minimalnym nakładzie kodu.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    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. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Czym jest właściwość RequestContext?

Przed zastosowaniem plików cookie należy ustawić właściwość RequestContext na RequestContexts.Global. Utwórz klasę ChromeHttpLoginCredentials i przekaż ją do metody ApplyCookies. Następnie renderer renderuje zawartość HTML do formatu PDF z wykorzystaniem plików cookie.

Właściwość RequestContext działa z nagłówkami żądań HTTP i uwierzytelnianiem. Decyduje to o udostępnianiu plików cookie między sesjami renderowania, co ma kluczowe znaczenie dla aplikacji utrzymujących stan sesji podczas generowania wielu plików PDF.

Jak korzystać z metody ApplyCookies?

Zastosuj pliki cookie przy użyciu 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);
Imports IronPdf

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

Dim credentials As New ChromeHttpLoginCredentials() With {
	.NetworkUsername = "testUser",
	.NetworkPassword = "testPassword"
}

Dim uri As String = "http://localhost:51169/Invoice"

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

To podejście sprawdza się podczas konwersji stron ASPX do formatu PDF wymagających uwierzytelnienia lub w przypadku aplikacji ASP.NET MVC.

Który RequestContext powinienem wybrać?

RequestContexts Enum definiuje konteksty żądań przeglądarki, ustanawiając relacje między renderami. Zarządza plikami cookie i preferencjami użytkownika.

  • Isolated: Tworzy nowe, izolowane konteksty żądań. Zapobiega wpływowi poprzednich renderowań na bieżące renderowania. Idealny do wielowątkowego generowania plików PDF.
  • Global: Wykorzystuje wspólny globalny kontekst żądania dla wszystkich renderowań. Zachowuje stan przeglądarki między renderowaniami. Idealne do zachowania danych sesji podczas operacji na plikach PDF.
  • Auto: Domyślnie IronPdf.Rendering.RequestContexts.Isolated. Przełącza się na IronPdf.Rendering.RequestContexts.Global, jeśli wywołano IronPdf.ChromePdfRenderer.ApplyCookies(System.String, IronPdf.ChromeHttpLoginCredentials).

Podczas wdrażania plików cookie w aplikacjach Blazor Server wybierz odpowiedni RequestContext, aby zachować prawidłowy stan sesji między renderowaniem po stronie serwera.


CustomCookies wymaga ustawienia właściwości CustomCookies. Ta właściwość akceptuje słowniki par klucz-wartość typu string. Niestandardowe pliki cookie obsługują złożone systemy uwierzytelniania lub przekazują dane na poziomie aplikacji podczas renderowania.

Pliki cookie niestandardowe różnią się od standardowych plików cookie HTTP tym, że umożliwiają definiowanie dowolnych par klucz-wartość. Ta elastyczność pasuje do nowoczesnych aplikacji internetowych wykorzystujących tokeny JWT, identyfikatory sesji lub niestandardowe mechanizmy uwierzytelniania.

Stosowanie niestandardowych plików cookie za pomocą 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);
Imports IronPdf
Imports System
Imports System.Collections.Generic

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private customCookies As New Dictionary(Of String, String)()

' Apply custom cookies
renderer.RenderingOptions.CustomCookies = customCookies

Dim uri As New Uri("https://localhost:44362/invoice")
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf(uri)
$vbLabelText   $csharpLabel

Takie podejście sprawdza się w przypadku stron intensywnie wykorzystujących JavaScript, które opierają się na plikach cookie do zarządzania stanem lub wdrażają niestandardowe rozwiązania do logowania.

Niestandardowe pliki cookie obsługują określone dane sesji lub tokeny uwierzytelniające, które nie są zarządzane przez standardowe poświadczenia HTTP. Można ich używać z niestandardowymi systemami uwierzytelniania lub w celu zachowania preferencji użytkownika podczas generowania plików PDF.

Standardowe pliki cookie (metodą ApplyCookies) są odpowiednie:

  • Podstawowe uwierzytelnianie HTTP
  • Środowiska uwierzytelniania systemu Windows
  • Proste zarządzanie sesjami

Pliki cookie niestandardowe sprawdzają się w następujących sytuacjach:

  • Uwierzytelnianie oparte na tokenach JWT
  • Złożone zarządzanie sesjami z wieloma parametrami
  • Zewnętrzni dostawcy uwierzytelniania (OAuth, SAML)
  • Zarządzanie preferencjami i ustawieniami użytkownika
  • Wymagania dotyczące analityki i śledzenia

Typowe problemy obejmują brak zachowania plików cookie między renderowaniami przy użyciu kontekstu Isolated, błędy uwierzytelniania spowodowane nieprawidłowymi wartościami plików cookie oraz problemy z czasem, w których pliki cookie wygasają przed wygenerowaniem pliku PDF. Sprawdź ważność plików cookie i weź pod uwagę kontekst Global w przypadku sesji trwałych.

Wskazówki dotyczące rozwiązywania problemów:

  1. Wygasanie plików cookie: Sprawdź, czy pliki cookie nie wygasły. Zaimplementuj logikę odświeżania dla tokenów o krótkim okresie ważności.
  2. Ograniczenia domen: Upewnij się, że domeny plików cookie są zgodne z wyświetlanym adresem URL.
  3. Bezpieczne pliki cookie: Prawidłowo skonfiguruj bezpieczne pliki cookie podczas renderowania adresów URL HTTPS.
  4. Zasady SameSite: Weź pod uwagę zasady dotyczące plików cookie SameSite w przeglądarkach, które mają wpływ na żądania międzydomenowe.

W przypadku zaawansowanych scenariuszy uwierzytelniania i plików cookie zapoznaj się z dokumentacją opcji renderowania, która obejmuje wszystkie dostępne ustawienia dostosowywania generowania plików PDF.

Często Zadawane Pytania

Jak zastosować ciasteczka podczas renderowania HTML do PDF?

Aby zastosować ciasteczka z IronPDF, ustaw właściwość RequestContext na RequestContexts.Global w ChromePdfRenderer, a następnie użyj metody ApplyCookies z ChromeHttpLoginCredentials. To zapewnia prawidłowe przesyłanie ciasteczek podczas procesu konwersji HTML do PDF.

Do czego służy właściwość RequestContext?

Właściwość RequestContext w IronPDF określa, jak ciasteczka są współdzielone między sesjami renderowania. Działa z nagłówkami żądań HTTP i uwierzytelnianiem, co czyni ją krytyczną dla aplikacji, które muszą utrzymać stan sesji podczas wielu generacji PDF.

Czy mogę dodać niestandardowe ciasteczka podczas renderowania PDF?

Tak, IronPDF pozwala na niestandardowe ciasteczka za pośrednictwem właściwości CustomCookies. Po prostu utwórz Dictionary z parami kluczy i wartości ciasteczek i przypisz je do właściwości RenderingOptions.CustomCookies klasy ChromePdfRenderer.

Jak renderować stronę chronioną ciasteczkami do PDF?

Użyj ChromePdfRenderer IronPDF z ustawionym RequestContext na Global i dodaj ciasteczka za pomocą właściwości CustomCookies. Następnie wywołaj RenderUrlAsPdf() z chronionym URL. Renderer dołączy ciasteczka do żądania, umożliwiając dostęp do chronionej treści.

Jakie rodzaje uwierzytelniania mogą obsługiwać ciasteczka podczas renderowania PDF?

Integracja ciasteczek w IronPDF obsługuje różne scenariusze uwierzytelniania, w tym uwierzytelnianie stron TLS, loginy systemowe i uwierzytelnianie oparte o sesję. Jest to szczególnie przydatne przy konwersji stron ASPX lub aplikacji ASP.NET MVC, które wymagają uwierzytelniania użytkownika.

Dlaczego ciasteczka są ważne przy konwersji HTML do PDF?

Ciasteczka utrzymują stan podczas procesu konwersji HTML do PDF z silnikiem renderującym Chrome w IronPDF. Są niezbędne do renderowania stron wymagających uwierzytelniania, zachowania preferencji użytkownika i utrzymania informacji o sesji w całej konwersji.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,926,724 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.