Zum Fußzeileninhalt springen
.NET HILFE

IdentityServer .NET (Wie es für Entwickler funktioniert)

Sicherheit ist entscheidend in der heutigen Softwarearchitektur, insbesondere wenn es um Benutzerberechtigungen und Authentifizierung geht. Als führendes Framework für die Implementierung von OpenID Connect und OAuth 2.0 bietet IdentityServer4 eine zuverlässige Option für die zentrale Autorisierung und Authentifizierung in verteilten Netzwerken. Wenn Entwickler IronPDF, eine leistungsstarke C#-Bibliothek zur PDF-Erstellung, zusammen mit sicherem Identitätsmanagement verwenden, können sie die beiden Technologien einfach kombinieren, um PDF-Dokumente zu erstellen, die eine Vielzahl von Anforderungen an Anwendungen erfüllen.

IdentityServer4 bietet eine modulare, standardbasierte Lösung, die die Installation von Identitätsmanagement vereinfacht. Es unterstützt Entwickler bei der Erstellung eines zentralen Identitätsanbieters, der Benutzer-Authentifizierung, Zugriff, Tokenvalidierung und -ausgabe sowie Berechtigungsüberprüfungen für eine Vielzahl von Diensten und Apps übernimmt. IdentityServer4 ermöglicht Entwicklern die Schaffung sicherer und intuitiver Authentifizierungserlebnisse, indem es viele Authentifizierungsmethoden unterstützt, wie Benutzername/Passwort, soziale Anmeldungen und Multi-Faktor-Authentifizierung.

Dieses Tutorial behandelt die C#-Integration von IdentityServer4 mit IronPDF und zeigt, wie IdentityServer4 für die Erstellung sicherer Prozesse zur Autorisierung und Authentifizierung verwendet werden kann und wie die erstellten Benutzeridentitäten genutzt werden können, um die Erstellung von IronPDF-Dokumenten anzupassen. Wir werden besprechen, wie Sie die Sicherheit und Funktionalität Ihrer C#-Anwendungen verbessern können, von der Konfiguration von IdentityServer4 als zentraler Identitäts- und Authentifizierungsanbieter bis zur Integration von IronPDF für die dynamische PDF-Erstellung.

Was ist IdentityServer4 C#?

IdentityServer4 ist ein beliebtes Open-Source-Framework, das in .NET- und C#-Anwendungen zur Verwaltung von Identitäten, zur Autorisierung und zur Authentifizierung verwendet wird. Es ist eine flexible Lösung zur Sicherung von Webanwendungen, APIs und Microservices, da es mit modernen Sicherheitsprotokollen wie OpenID Connect und OAuth 2.0 kompatibel ist.

IdentityServer4 fungiert im Wesentlichen als zentraler Authentifizierungsserver, der Nutzeridentifikation und Berechtigungsverwaltung, Kernidentität, gültige Tokenausgabe und Anmeldevalidierung übernimmt. Es gibt Programmierern die Möglichkeit, föderierte Authentifizierung und Single Sign-On (SSO) in mehrere Anwendungen und Dienste zu integrieren, wodurch ein sicheres und nahtloses Endbenutzererlebnis entsteht.

IdentityServer .NET (How It Works For Developers): Abbildung 1 - IdentityServer4: Verwendung der ASP.NET Core Identity

Funktionen von IdentityServer4

SSO, oder Einzelanmeldung

Benutzer können mit nur einer einmaligen Authentifizierung auf verschiedene Anwendungen oder Dienste zugreifen, ohne ihre Anmeldedaten erneut eingeben zu müssen.

Unterstützung für OpenID Connect und OAuth 2.0

IdentityServer4 bietet branchenübliche Protokolle für die sichere Authentifizierung und Autorisierung und gewährleistet Kompatibilität und Unterstützung für eine breite Palette von Clientanwendungen und Plattformen.

Anpassbare Einrichtung

Entwickler können die Sicherheitseinstellungen an spezifische Anwendungsanforderungen anpassen, da sie die feinkörnige Kontrolle darüber haben, wie Authentifizierungs- und Berechtigungsrichtlinien konfiguriert werden.

Konnektivität zu ASP.NET Core

Die Authentifizierung für ASP.NET Core-Webanwendungen und APIs ist dank der nahtlosen Integration von IdentityServer4 in das Framework einfach zu implementieren.

Personalisierung und Anpassungsfähigkeit

Dank des hohen Maßes an Erweiterbarkeit und Anpassung des Frameworks können Entwickler bei Bedarf neue Benutzerspeicher, Identitätsanbieter, Testnutzer und Authentifizierungsabläufe hinzufügen.

Benutzerüberprüfung

IdentityServer4 gibt Entwicklern die Flexibilität, die Authentifizierungsmechanismenkonfiguration zu wählen, die am besten zu den Anforderungen ihrer Webanwendung passt. Diese Mechanismen umfassen Benutzername/Passwort, soziale Anmeldungen (wie Google, Facebook usw.) und externe Identitätsanbieter (wie Active Directory, Azure AD usw.).

Richtlinien für die Autorisierung

Entwickler können feinkörnige Berechtigungsrichtlinien basierend auf Benutzerrollen, Ansprüchen oder anderen Kriterien erstellen, um sicherzustellen, dass nur autorisierte Benutzer auf bestimmte Ressourcen zugreifen oder bestimmte Aktionen innerhalb der Anwendung durchführen können.

Verwaltung von Token

IdentityServer4 verwaltet Zugriffstokens, Token-Auffrischtokens und Identitätstokens und bietet eine sichere Methode zur Benutzerauthentifizierung und Erlaubnis zum Zugriff auf identitätsschutzerhaltende Ressourcen.

Erstellen und Konfigurieren

Um IdentityServer4 in einem C#-Projekt in Visual Studio einzurichten, müssen Sie die folgenden Schritte ausführen:

Erstellen eines neuen Projekts in Visual Studio

Nach dem Start der Visual Studio-Anwendung wählen Sie die Option "Neues Projekt erstellen" oder wählen Sie im Menü Datei > Hinzufügen > "Neues Projekt". Wählen Sie danach "Asp.NET Core Web App (Model-View-Controller)", nachdem Sie "neues Projekt" ausgewählt haben. Diese Anwendung wird in diesem Tutorial zur Erstellung von PDF-Dokumenten verwendet.

 related to Erstellen eines neuen Projekts in Visual Studio Option Neues Projekt. Dann wählen Sie ASP.NET Core Web App" />

Wählen Sie den Dateipfad und geben Sie den Projektnamen in das entsprechende Textfeld ein. Wählen Sie dann das benötigte .NET Framework, indem Sie auf die Schaltfläche Erstellen klicken, wie im Screenshot unten gezeigt.

IdentityServer .NET (How It Works For Developers): Abbildung 3 - Konfigurieren Sie als Nächstes Ihr Projekt, indem Sie den Projektnamen und den Speicherort angeben. Klicken Sie auf Weiter.

Entscheiden Sie, welches Framework benötigt wird, und klicken Sie auf die Schaltfläche Erstellen.

IdentityServer .NET (How It Works For Developers): Abbildung 4 - Geben Sie zusätzliche Informationen wie Framework, Authentifizierungstyp an, wählen Sie, ob Sie HTTPS konfigurieren möchten und aktivieren Sie Docker. Klicken Sie dann auf Erstellen.

Die Struktur für die gewählte Anwendung wird durch das Visual Studio-Projekt generiert. Wir verwenden in diesem Beispiel ASP.NET MVC. Um den Code zu schreiben, können wir entweder einen neuen Controller erstellen oder den vorhandenen verwenden, um den Code einzugeben und das Programm zu erstellen/starten.

IdentityServer .NET (How It Works For Developers): Abbildung 5 - Das ASP.NET Core Web App (MVC) Projekt wurde erfolgreich erstellt.

Um den Code zu testen, fügen Sie die Bibliothek hinzu.

IdentityServer4-Paket installieren

Fügen Sie mithilfe der .NET-CLI oder des NuGet-Paket-Managers in Visual Studio das IdentityServer4-Paket zu Ihrem Projekt hinzu. Verwenden Sie die Paket-Manager-Konsole oder ein Terminal und geben Sie den folgenden Befehl ein, um die neueste Version des Pakets zu installieren:

Install-Package IdentityServer4

IdentityServer4 in einem .NET Core-Projekt konfigurieren

Konfigurieren Sie in Ihrer ASP.NET Core-Anwendung IdentityServer4, indem Sie die erforderlichen Authentifizierungsmiddleware und -dienste zur Startup.cs-Datei hinzufügen. Ein einführendes Codebeispiel zur Konfiguration von IdentityServer4 ist hier bereitgestellt:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddIdentityServer()
            .AddInMemoryClients(Config.Clients)
            .AddInMemoryIdentityResources(Config.IdentityResources)
            .AddInMemoryApiScopes(Config.ApiScopes)
            .AddInMemoryApiResources(Config.ApiResources)
            .AddTestUsers(Config.Users);
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseIdentityServer();
    }
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddIdentityServer()
            .AddInMemoryClients(Config.Clients)
            .AddInMemoryIdentityResources(Config.IdentityResources)
            .AddInMemoryApiScopes(Config.ApiScopes)
            .AddInMemoryApiResources(Config.ApiResources)
            .AddTestUsers(Config.Users);
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseIdentityServer();
    }
}
$vbLabelText   $csharpLabel

Konfigurieren Sie Clients, Identitäts- und API-Ressourcen

Es ist notwendig, die Konfiguration von Clients, Identitätsressourcen (Scopes) und API-Ressourcen für IdentityServer4 vorzunehmen. Diese Konfigurationen können in einer separaten Klasse wie Config.cs definiert werden:

public class Config
{
    public static IEnumerable<Client> Clients { get; set; }
    public static IEnumerable<IdentityResource> IdentityResources { get; set; }
    public static IEnumerable<ApiScope> ApiScopes { get; set; }
    public static IEnumerable<ApiResource> ApiResources { get; set; }
    public static List<TestUser> Users { get; set; }
}
public class Config
{
    public static IEnumerable<Client> Clients { get; set; }
    public static IEnumerable<IdentityResource> IdentityResources { get; set; }
    public static IEnumerable<ApiScope> ApiScopes { get; set; }
    public static IEnumerable<ApiResource> ApiResources { get; set; }
    public static List<TestUser> Users { get; set; }
}
$vbLabelText   $csharpLabel

Indem Sie diese Anweisungen befolgen, können Sie die sichere Authentifizierung und Autorisierung in Ihren ASP.NET Core-Apps aktivieren, indem Sie IdentityServer4 in einem C#-Projekt erstellen und konfigurieren.

Einführung in IdentityServer4 mit IronPDF

Diese Anleitungen führen Sie durch die Konfiguration von IdentityServer4 für sichere Authentifizierung und Autorisierung und die Verwendung von IronPDF zur Erstellung von PDF-Dokumenten in einem C#-Projekt. Sie werden lernen, wie Sie ein Projekt basierend auf einer grundlegenden Einrichtung erstellen, indem Sie diesen Schritten folgen.

Was ist IronPDF?

IronPDF ist eine funktionsreiche Bibliothek zur Interaktion mit PDF-Dokumenten in .NET-Anwendungen. Mit seinem umfangreichen Funktionssatz können Benutzer PDFs von Grund auf neu oder aus HTML-Inhalten erstellen sowie Abschnitte vorhandener PDF-Dokumente hinzufügen, entfernen oder neu anordnen. IronPDF bietet Entwicklern eine leistungsstarke API zum Erstellen, Bearbeiten und Konvertieren von PDF-Dateien und vereinfacht das PDF-Handling in .NET-Anwendungen.

IdentityServer .NET (How It Works For Developers): Abbildung 6 - IronPDF für .NET: Die C# PDF-Bibliothek

Hauptfunktionen von IronPDF

HTML zu PDF Konvertierung

Mit IronPDF können Sie hochwertige PDF-Dokumente erstellen, indem Sie HTML-Inhalte verwenden, einschließlich JavaScript und CSS. Diese Funktionalität ist nützlich beim Erstellen von PDFs aus Websites oder dynamischen Inhalten.

Ändern und Verbessern von PDFs

IronPDF ermöglicht es Ihnen, bereits vorhandene PDF-Dokumente zu ändern. Sie können mehrere PDFs zu einem Dokument zusammenführen, Seiten aus einem PDF extrahieren und Text, Bilder, Wasserzeichen oder Anmerkungen hinzufügen.

PDF im Handumdrehen erstellen

Mit der API von IronPDF können Sie programmatisch Text, Bilder, Formen und andere Objekte zu neu erstellten PDF-Dokumenten hinzufügen. Dies ermöglicht die dynamische PDF-Erstellung für Rechnungen, Berichte und andere dokumentbasierte Ausgaben.

PDF-Sicherheit

Sie können den Zugriff verwalten und sensible Daten schützen, indem Sie PDF-Dokumente mit IronPDF verschlüsseln und Passwortschutz hinzufügen.

PDF-Formulare

IronPDF ermöglicht es Benutzern, PDF-Formulare zu erstellen, auszufüllen und einzureichen sowie Daten in Formularfelder einzutragen.

Textextraktion

IronPDF hilft bei der Manipulation, Analyse und Suche von Textinformationen, indem es Textinformationen aus PDF-Dokumenten extrahiert.

Konvertierung in Bildformate

IronPDF kann PDF-Dokumente in gängige Bildformate wie PNG, JPEG und BMP konvertieren, was nützlich ist, wenn Bilder anstelle von PDFs benötigt werden.

IronPDF installieren

Verwenden Sie die .NET-CLI oder den NuGet-Paket-Manager, um die neueste Version von IronPDF zu Ihrem Projekt hinzuzufügen.

Install-Package IronPdf

Integration von IronPDF mit IdentityServer4 C#;

Richten Sie die erforderlichen Dienste und Middleware für IdentityServer4 in Ihrer Startup.cs-Datei ein, wie im obigen Code gezeigt. Erstellen Sie dann einen neuen MVC-Controller namens PdfController.cs, um die PDF-Generierung mit IronPDF zu handhaben.

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;

[Authorize]
public class PdfController : Controller
{
    public async Task<IActionResult> GeneratePdf()
    {
        // Create IronPDF Renderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>";

        // Convert HTML to PDF asynchronously
        var pdfDocument = await Task.Run(() => renderer.RenderHtmlAsPdf(htmlContent));

        // Return the PDF as a file
        return File(pdfDocument.BinaryData, "application/pdf", "example.pdf");
    }
}
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;

[Authorize]
public class PdfController : Controller
{
    public async Task<IActionResult> GeneratePdf()
    {
        // Create IronPDF Renderer
        var renderer = new IronPdf.ChromePdfRenderer();

        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>";

        // Convert HTML to PDF asynchronously
        var pdfDocument = await Task.Run(() => renderer.RenderHtmlAsPdf(htmlContent));

        // Return the PDF as a file
        return File(pdfDocument.BinaryData, "application/pdf", "example.pdf");
    }
}
$vbLabelText   $csharpLabel

Die Integration von IronPDF mit IdentityServer4 umfasst das Einrichten sicherer Benutzerauthentifizierung und -autorisierung mit IdentityServer4, gefolgt von der Verwendung von IronPDF zur Erstellung von PDF-Dokumenten, die nur von authentifizierten Benutzern zugänglich sind. Im bereitgestellten Codebeispiel ist IdentityServer4 in der Startup.cs-Datei konfiguriert, um das Benutzeridentitätsmanagement durch In-Memory-Konfigurationen und Client-Anmeldeinformationen zu verwalten.

Der PdfController ist mit dem Attribut [Authorize] geschützt und stellt sicher, dass nur autorisierte Benutzer auf seine Operationen zugreifen können. Dieser Controller verwendet eine asynchrone Methode, um HTML-Inhalte mit der IronPDF-Bibliothek in PDF-Format zu rendern. Dieser PDF-Erstellungsprozess umfasst die Erstellung eines ChromePdfRenderer-Renderers, das Konvertieren von HTML-Inhalten in ein PDF-Dokument und das Zurückgeben des PDF als Dateiantwort.

Durch das Einbetten der PDF-Generierungslogik in einen gesicherten Endpunkt können nur von IdentityServer4 authentifizierte Benutzer die PDF-Erstellung initiieren, wodurch eine starke Sicherheit mit dynamischen Dokumentenerstellungsmöglichkeiten kombiniert wird. Dieses Setup ist insbesondere für Anwendungen vorteilhaft, die eine sichere Dokumentenhandhabung erfordern, wie beispielsweise die Erstellung von Rechnungen, Berichten oder maßgeschneiderten Inhalten basierend auf benutzerspezifischen Informationen, während durch IdentityServer4 strenge Zugriffskontrolle durchgesetzt wird.

!IdentityServer .NET (How It Works For Developers): Abbildung 7 - Ausgabe-PDF, das mit IronPDF mit sicherer Benutzer- und Zugriffskontrolle generiert wurde, bereitgestellt durch IdentityServer4.

Abschluss

Zusammenfassend ermöglicht die Integration von IdentityServer4 mit IronPDF in einem C#-Projekt eine effektive Verbindung robuster Sicherheit mit dynamischen PDF-Erstellungsmöglichkeiten. IdentityServer4 bietet einen einheitlichen und standardisierten Ansatz für das Verwaltung von Benutzeridentitäten und Zugriffskontrolle über mehrere Anwendungen und Dienste hinweg und stellt eine sichere Benutzer- und Zugriffsautorisierung sicher. Mit IronPDF können Entwickler qualitativ hochwertige PDF-Dokumente erstellen, die nur für authentifizierte Benutzer zugänglich sind, alles basierend auf verifizierten Benutzerdaten.

Diese Integration verbessert die Anwendungssicherheit und -funktionalität und ist ideal für Szenarien wie die Erstellung von Rechnungen, Berichten und personalisierten Inhalten, die eine sichere Dokumentenverarbeitung erfordern. Insgesamt bietet die Kombination aus IdentityServer4 und IronPDF eine überzeugende Lösung zur Entwicklung sicherer, effizienter und benutzerorientierter Anwendungen im .NET-Framework.

Wenn IronPDF und Iron Software-Technologien in Ihr Unternehmensanwendungsentwicklungs-Stack integriert werden, kann IronPDF umfassende Developer -Dokumentation und Premium-Softwarelösungen für Kunden und Endbenutzer bereitstellen. Dieses solide Fundament wird auch die Projekt-, Backend-System- und Prozessverbesserung erleichtern.

Iron Suite, eine Kombination aus 9 verschiedenen .NET API-Produkten, ist zu einem konkurrenzfähigen Lizenzpreis erhältlich! Diese Technologien sind aufgrund ihrer umfassenden Dokumentation, der aktiven Online-Entwicklergemeinschaft und der regelmäßigen Updates ausgezeichnete Auswahlmöglichkeiten für moderne Softwareentwicklungsprojekte.

Häufig gestellte Fragen

Wie kann IronPDF verwendet werden, um HTML in einer .NET-Anwendung in PDF zu konvertieren?

IronPDF bietet Methoden wie RenderHtmlAsPdf, die es Entwicklern ermöglichen, HTML-Strings in PDF-Dokumente innerhalb einer .NET-Anwendung zu konvertieren. Es unterstützt auch die Umwandlung von gesamten HTML-Dateien oder URLs in PDFs, was es zu einem vielseitigen Werkzeug für die Dokumentenkonvertierung macht.

Welche Rolle spielt IdentityServer4 bei der Sicherung von .NET-Anwendungen?

IdentityServer4 spielt eine entscheidende Rolle bei der Sicherung von .NET-Anwendungen, indem es zentrale Authentifizierungs- und Autorisierungsdienste bietet. Es ermöglicht Entwicklern, Protokolle wie OpenID Connect und OAuth 2.0 zu implementieren, was eine sichere Nutzerverwaltung und den Schutz von Ressourcen ermöglicht.

Kann man die PDF-Erstellung mit sicherer Authentifizierung in einer C#-Anwendung integrieren?

Ja, es ist möglich, die PDF-Erstellung mit sicherer Authentifizierung in einer C#-Anwendung zu integrieren. Durch die Verwendung von IdentityServer4 für sichere Authentifizierung und IronPDF zur Generierung von PDFs können Entwickler sicherstellen, dass nur authentifizierte Benutzer Zugang zu vertraulichen Dokumenten haben, was die Sicherheit und Compliance erhöht.

Welche Schritte sind erforderlich, um IdentityServer4 in einem .NET-Projekt zu konfigurieren?

Um IdentityServer4 in einem .NET-Projekt zu konfigurieren, müssen Entwickler das IdentityServer4-Paket über NuGet installieren, es in der Startup.cs-Datei konfigurieren und Clients für die Authentifizierung einrichten. Dies stellt sicher, dass die Anwendung Nutzeridentitäten und Berechtigungen sicher verwalten kann.

Wie verbessert IronPDF die Dokumentensicherheit in .NET-Anwendungen?

IronPDF verbessert die Dokumentensicherheit, indem es Entwicklern ermöglicht, Funktionen wie Verschlüsselung und Passwortschutz zu PDF-Dateien hinzuzufügen. Dies stellt sicher, dass sensible Informationen innerhalb von PDFs nur für autorisierte Benutzer zugänglich sind, was den besten Datenschutzpraktiken entspricht.

Welche allgemeinen Authentifizierungsmethoden werden von IdentityServer4 unterstützt?

IdentityServer4 unterstützt gängige Authentifizierungsmethoden wie Benutzername/Passwort, soziale Anmeldungen und Mehrfaktor-Authentifikation. Diese Flexibilität ermöglicht es Entwicklern, sichere und benutzerfreundliche Authentifizierungsabläufe zu erstellen, die auf die Bedürfnisse ihrer Anwendung zugeschnitten sind.

Wie können Sie Tokens mit IdentityServer4 verwalten?

IdentityServer4 ermöglicht es Entwicklern, Tokens effektiv zu verwalten durch die Unterstützung von OAuth 2.0. Es bietet Funktionen zum Ausstellen, Validieren und Widerrufen von Tokens, die entscheidend sind, um den Zugang zu Anwendungsressourcen basierend auf dem Authentifizierungsstatus der Benutzer zu kontrollieren.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen