.NET-HILFE

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

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

Sicherheit ist in der heutigen Software-Architektur von entscheidender Bedeutung, insbesondere wenn es um Benutzerrechte und Authentifizierung geht. Als Top-Rahmen für die Umsetzung OpenID Connect und OAuth 2.0 in die Praxis umsetzen, IdentityServer4 bietet eine zuverlässige Option für die zentralisierte Autorisierung und Authentifizierung in verteilten Netzwerken. Wenn Entwickler ein Paar IronPDF, einer leistungsfähigen C#-Bibliothek für die PDF-Erzeugung, mit sicherem Identitätsmanagement können sie beides problemlos kombinieren, um PDF-Dokumente zu erstellen, die eine Vielzahl von Anwendungsanforderungen erfüllen.

IdentityServer4 bietet eine modulare, standardbasierte Lösung, die die Installation von Identitätsmanagement vereinfacht. Mit seiner Hilfe können Entwickler einen zentralisierten Identitätsanbieter erstellen, der die Benutzerauthentifizierung, den Zugriff, die Token-Validierung und -Ausgabe sowie die Berechtigungsvalidierung für eine Vielzahl von Diensten und Anwendungen übernimmt. IdentityServer4 ermöglicht es Entwicklern, sichere und intuitive Authentifizierungserfahrungen zu schaffen, indem er viele Authentifizierungsmethoden unterstützt, wie z. B. Benutzername/Passwort, Social Logins und Multi-Faktor-Authentifizierung.

Dieser Lehrgang behandelt die C#-Integration von IdentityServer4 mit IronPDFes wird gezeigt, wie IdentityServer4 verwendet wird, um sichere Prozesse für die Autorisierung und Authentifizierung zu erstellen und wie die erstellten Benutzeridentitäten verwendet werden können, um die PDF-Dokumentenerstellung von IronPDF anzupassen. Wir zeigen Ihnen, wie Sie die Sicherheit und Funktionalität Ihrer C#-Anwendungen verbessern können, von der Konfiguration von IdentityServer4 als zentralem Identitäts- und Authentifizierungsanbieter bis zur Integration von IronPDF für die dynamische PDF-Produktion.

Was bedeutet IdentityServer4 c#?

Ein sehr beliebtes Open-Source-Framework namens IdentityServer4 wird in .NET- und C#-Anwendungen verwendet, um Identitätsmanagement, Autorisierung und Authentifizierung durchzuführen. Es ist eine flexible Lösung für die Absicherung von Webanwendungen, APIs und Microservices, da es mit modernen Sicherheitsprotokollen wie OpenID Connect und OAuth 2.0 kompatibel ist.

der IdentityServer4** fungiert im Wesentlichen als zentraler Authentifizierungsserver, der die Benutzeridentifikation und das Berechtigungsmanagement für die Kernidentität, die Ausgabe gültiger Zugangstoken und die Validierung von Anmeldeinformationen übernimmt. Es gibt Programmierern die Möglichkeit, föderierte Authentifizierung und Single Sign-On zu integrieren (SSO) in mehrere Anwendungen und Dienste integriert werden, was zu einer sicheren und reibungslosen Erfahrung für den Endnutzer führt.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 1 - IdentityServer4: Verwendung von ASP.NET Core Identity

Merkmale von IdentityServer4

SSO, oder einmalige Anmeldung

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

Unterstützung für OpenID Connect und OAuth 2.0

Um die Kompatibilität mit einer Vielzahl von Client-Anwendungen und -Plattformen zu gewährleisten und diese zu unterstützen, bietet IdentityServer4 Industriestandardprotokolle für die sichere Authentifizierung und Autorisierung.

Anpassungsfähige Einrichtung

Die Entwickler können die Sicherheitseinstellungen an bestimmte Anwendungsanforderungen anpassen, da sie die Konfiguration der Authentifizierungs- und Berechtigungsrichtlinien genau steuern können.

Konnektivität zu ASP.NET Core

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

Personalisierung und Anpassungsfähigkeit

Aufgrund des hohen Maßes an Erweiterbarkeit und Anpassbarkeit des Frameworks können Entwickler bei Bedarf neue Benutzerspeicher, Identitätsanbieter, Testbenutzer und Authentifizierungsworkflows hinzufügen.

Benutzerverifizierung

IdentityServer4 bietet Entwicklern die Flexibilität, die Konfiguration des Authentifizierungsmechanismus auszuwählen, die den Anforderungen ihrer Webanwendung am besten entspricht. Zu diesen Mechanismen gehören Benutzername/Passwort, Social Logins (wie Google, Facebook, usw.)und externe Identitätsanbieter (wie Active Directory, Azure AD, usw.).

Richtlinien für die Autorisierung

Um zu gewährleisten, dass nur autorisierte Benutzer auf bestimmte Ressourcen zugreifen oder bestimmte Aktionen innerhalb der Anwendung durchführen können, können Entwickler fein abgestufte Autorisierungsrichtlinien erstellen, die auf Benutzerrollen, Ansprüchen oder anderen Kriterien basieren.

Verwaltung von Wertmarken

Zugriffs-Token, Token-Refresh-Token und Identitäts-Token werden alle von IdentityServer4 verwaltet, der eine sichere Methode der Benutzerauthentifizierung und Zugriffsberechtigung auf Ressourcen bietet, die durch den Identitätsserver geschützt sind.

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 Starten von Visual Studio können Sie entweder die Option "Neues Projekt erstellen" wählen oder Sie können Datei > Hinzufügen > "Neues Projekt" wählen. Wählen Sie dann "Asp.NET Core Web App" (Modell-Ansichts-Steuerung)", nachdem Sie "Neues Projekt" gewählt haben. In diesem Lehrgang werden wir diese Anwendung zur Erstellung von PDF-Dokumenten verwenden.

"Neues Projekt". Wählen Sie dann "ASP.NET Core Web App"" />

Wählen Sie den Dateipfad und geben Sie den Projektnamen in das entsprechende Textfeld ein. Als Nächstes wählen Sie das erforderliche Dot .NET-Framework aus, indem Sie auf die Schaltfläche Erstellen klicken, wie in der Abbildung unten zu sehen.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 3 - Als nächstes konfigurieren Sie Ihr Projekt, indem Sie den Projektnamen und den Speicherort angeben. Klicken Sie auf Weiter.

Entscheiden Sie dann, welchen Rahmen Sie benötigen, und klicken Sie auf die Schaltfläche Erstellen.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 4 - Geben Sie zusätzliche Informationen an, wie Framework, Authentifizierungstyp, wählen Sie aus, ob Sie für HTTPs konfigurieren und Docker aktivieren möchten. Klicken Sie dann auf Erstellen.

Die Struktur für die gewählte Anwendung wird nun von dem 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 einen bereits vorhandenen verwenden, der es Ihnen ermöglicht, den Code einzugeben und das Programm zu erstellen/auszuführen.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 5 - Die ASP.NET Core Webanwendung (MVC)  projekt wurde erfolgreich erstellt.

Um den Code zu testen, können wir dann die Bibliothek hinzufügen.

IdentityServer4-Paket installieren

Fügen Sie mit der .NET CLI oder dem NuGet Package Manager in Visual Studio das IdentityServer4-Paket zu Ihrem Projekt hinzu. Geben Sie über die Paketmanager-Konsole oder ein Terminal den folgenden Befehl ein, um die neueste Version des Pakets zu installieren:

Install-Package IdentityServer4
Install-Package IdentityServer4
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

IdentityServer4 im .NET Core-Projekt konfigurieren

Konfigurieren Sie IdentityServer4 in Ihrer ASP.NET Core-Anwendung, indem Sie die erforderliche Authentifizierungs-Middleware und die Dienste zur Datei Startup.cs hinzufügen. Ein einführendes Codebeispiel für die Konfiguration von IdentityServer4 finden Sie hier:

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();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

Konfiguration von Clients, Identitätsressourcen (geltungsbereiche)konfiguration, Datenbank und API-Ressourcen sind für IdentityServer4 erforderlich. Diese Konfigurationen können in einer anderen 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; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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

Erste Schritte mit IdentityServer4 mit IronPDF

Diese Anweisungen führen Sie durch die Konfiguration von IdentityServer4 für einen sicheren Authentifizierungs- und Autorisierungscode und mit IronPDF um PDF-Dokumente in einem C#-Projekt zu erstellen. Anhand dieser Anleitung lernen Sie, wie Sie ein Projekt auf der Grundlage einer Grundeinstellung erstellen können.

Was ist IronPDF?

Zur Verwendung in .NET-Anwendungen, IronPDF ist eine funktionsreiche Bibliothek für die Interaktion mit PDF-Dokumenten. Mit seinem umfangreichen Funktionsumfang können Anwender PDFs von Grund auf oder aus HTML-Inhalten erstellen sowie Abschnitte in bereits vorhandenen PDF-Dokumenten hinzufügen, entfernen oder neu anordnen. IronPDF bietet Entwicklern eine robuste API zum Erstellen, Ändern und Konvertieren von PDF-Dateien, die die Arbeit mit PDFs in .NET-Anwendungen vereinfacht.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 6 - IronPDF for .NET: Die C# PDF-Bibliothek

Hauptmerkmale von IronPDF

Umwandlung von HTML in PDF

Mit IronPDF können Sie PDF-Dokumente in hervorragender Qualität erstellen, indem Sie hTML-Inhalt verwenden, einschließlich JavaScript und CSS. Diese Funktion ist sehr nützlich, wenn Sie PDFs von Websites oder dynamischen Informationen erstellen.

Ändern und Verbessern von PDFs

Mit IronPDF können Sie pDF-Dokumente ändern die bereits existieren. Man kann viele PDFs in einem Dokument kombinieren, die Seiten aus einer PDF extrahieren und Text, Fotos, Wasserzeichen oder Kommentare hinzufügen.

Sofortige Erstellung einer PDF-Datei

Mit der API von IronPDF können Sie programmatisch Text, Fotos, Formen und andere Objekte zu neu erstellten PDF-Dokumenten hinzufügen. Dies ermöglicht die dynamische Generierung von PDF-Rechnungen, Berichten und anderen dokumentenbasierten Ausgaben.

Sicherheit von PDFs

Sie können den Zugriff verwalten und wichtige Daten schützen, indem Sie pDF-Dokumente verschlüsseln mit IronPDF und hinzufügen der Passwortsicherheit.

Formulare im PDF-Format

Mit IronPDF können Benutzer mit PDF-Dokumenten arbeiten, indem sie diese erstellen, ausfüllen und übermittlung von PDF-Formularensowie die Eingabe von Daten in Formularfelder.

Text Mitschnitte

IronPDF ist ein Tool, das bei der Manipulation, Analyse und Suche von Textdaten hilft, indem es extraktion von Textinformationen aus PDF-Dokumenten.

Umwandlung in Bildformate

IronPDF ist nützlich in Situationen, in denen Fotos anstelle von PDFs benötigt werden, da es PDF-Dokumente in gängige Bildformate wie PNG, JPEG und BMP konvertieren kann.

IronPDF installieren

Verwenden Sie die .NET CLI oder den NuGet Package Manager, um die neueste Version von IronPDF zu Ihrem Projekt.

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
VB   C#

IronPDF mit IdentityServer4 integrieren C#

Richten Sie die erforderlichen Dienste und Middleware für IdentityServer4 in Ihrer Datei Startup.cs ein, ähnlich dem oben gezeigten Code. Erstellen Sie dann einen neuen MVC-Controller namens PdfController.cs, um die PDF-Erzeugung mit IronPDF zu verarbeiten.

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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Die Verwendung von IdentityServer4 zur Einrichtung einer sicheren Benutzerauthentifizierung und -autorisierung, gefolgt von IronPDF zur Erstellung von PDF-Dokumenten, auf die nur authentifizierte Benutzer zugreifen können, ist der Prozess der Integration von IronPDF mit IdentityServer4 in eine C#-Anwendung. Im mitgelieferten Codebeispiel ist IdentityServer4 in der Datei Startup.cs so konfiguriert, dass die Benutzeridentität über speicherinterne Konfigurationen verwaltet und die Anmeldeinformationen der Clients verarbeitet werden.

Nur autorisierte Benutzer können auf die Operationen des PdfControllers zugreifen, da dieser mit dem [Autorisieren Sie] attribut. Dieser Controller verwendet eine asynchrone Methode zum Rendern von HTML-Informationen in das PDF-Format unter Verwendung der IronPDF-Bibliothek. Die Schritte im PDF-Erzeugungsprozess sind: Erstellung eines ChromePdfRenderer-Renderers; umwandelnd HTML-Text in ein PDF-Dokument; und die PDF-Datei als Antwort zurückschicken.

Um hohe Sicherheit mit dynamischer Dokumentenerzeugung zu kombinieren, bettet die Integration die PDF-Erzeugungslogik in einen gesicherten Endpunkt ein und garantiert, dass nur Benutzer, die von IdentityServer4 verifiziert wurden, die PDF-Erstellung initiieren können. Diese Methode eignet sich besonders gut für Anwendungen, die Dokumente sicher handhaben müssen, einschließlich der Erstellung von Rechnungen, Berichten oder benutzerdefinierten Inhalten auf der Grundlage benutzerspezifischer Informationen, während gleichzeitig eine strenge Zugriffskontrolle über IdentityServer4 durchgesetzt wird.

IdentityServer .NET (Wie es für Entwickler funktioniert): Abbildung 7 - Mit IronPDF erzeugte PDF-Ausgabe mit sicherer Benutzerauthentifizierung und -autorisierung durch IdentityServer4.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass die Integration von IdentityServer4 mit IronPDF in einem C#-Projekt kombiniert erfolgreich starke Sicherheit mit der Fähigkeit, dynamische PDFs zu erstellen. Durch die Bereitstellung einer einzigen und standardisierten Methode zur Verwaltung von Benutzeridentitäten und Zugriffskontrolle über mehrere Anwendungen und Dienste hinweg, garantiert IdentityServer4 eine sichere Benutzerauthentifizierung und Autorisierung. Durch die Verwendung von IronPDF können Entwickler PDF-Dokumente von höchster Qualität erstellen, die nur für autorisierte Benutzer zugänglich sind und auf verifizierten Benutzerdaten basieren.

Diese Integration verbessert die Sicherheit und Funktionalität der Anwendung und eignet sich daher perfekt für Szenarien wie die Erstellung von Rechnungen, Berichten und personalisierten Inhalten, die eine sichere Dokumentenverarbeitung erfordern. Alles in allem ist die Kombination aus IdentityServer4 und IronPDF bietet eine starke Option für die Erstellung sicherer, effektiver und benutzerorientierter Anwendungen innerhalb des .NET-Frameworks.

Wenn IronPDF und IronSoftware technologien in die Entwicklung von Unternehmensanwendungen integriert sind, kann IronPDF den Entwicklern funktionsreiche Dokumentation und hochwertige Softwarelösungen für Kunden und Endnutzer. Diese solide Basis wird auch Projekte, Backend-Systeme und Prozessverbesserungen erleichtern.

IronPDFeine Kombination aus 9 verschiedenen .NET-API-Produkten für ein lizenzierungspreis von nur zwei!

Diese Technologien eignen sich hervorragend für moderne Softwareentwicklungsprojekte, da sie über eine umfangreiche Dokumentation, eine aktive Online-Entwicklergemeinschaft und regelmäßige Upgrades verfügen.

< PREVIOUS
OData C# (Wie es für Entwickler funktioniert)
NÄCHSTES >
Flurl C# (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >