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 używa właściwości RequestContext i metody ApplyCookies do integracji ciasteczek w renderowaniu PDFu, utrzymując informacje o sesji i autentykacji 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. Ten przewodnik demonstruje korzystanie z API IronPdf do zarządzania ciasteczkami podczas konwersji HTML do PDF. Zastosuj standardowe lub niestandardowe ciasteczka, korzystając z właściwości RequestContext i metody ApplyCookies z minimalnym kodem.

  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?

Ustaw właściwość RequestContext na RequestContexts.Global przed zastosowaniem ciasteczek. Stwó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 współpracuje z nagłówkami żądań HTTP oraz autentykacją. 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 używać 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ć?

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

  • Isolated: Tworzy nowe, odizolowane konteksty żądań. Zapobiega wpływowi poprzednich renderowań na bieżące renderowania. Idealny do wielowątkowego generowania plików PDF.
  • Global: Używa współdzielonego globalnego kontekstu żądania między wszystkimi renderami. 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 implementacji ciasteczek w aplikacjach Blazor Server, wybierz odpowiedni RequestContext, aby utrzymać prawidłowy stan sesji między serwerowymi renderami.


Icon Quote related to Który RequestContext powinienem wybrać?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Który RequestContext powinienem wybrać?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Który RequestContext powinienem wybrać?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Który RequestContext powinienem wybrać?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Który RequestContext powinienem wybrać?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Który RequestContext powinienem wybrać?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

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 ciasteczka (za pomocą metody ApplyCookies) są odpowiednie dla:

  • 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

Powszechne problemy obejmują ciasteczka nieprzetrwające między renderami, używając kontekstu Isolated, błędy uwierzytelniania z nieprawidłowych wartości ciasteczek oraz problemy z czasem, kiedy ciasteczka wygasają przed wygenerowaniem PDF. Zweryfikuj poprawność ciasteczek i rozważ kontekst Global dla utrzymujących sesji.

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 19,936,792 | Wersja: 2026.7 właśnie wydany
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.