.NET 幫助

IdentityServer .NET(對開發者的作用)

發佈 2024年8月13日
分享:

簡介

在當今的軟體架構中,安全性至關重要,尤其是在用戶許可和身份驗證方面。作為實現這一目標的首選框架 OpenID 連接和應用 OAuth 2.0, IdentityServer4 提供了在分散網路中集中授權和認證的可靠選項。當開發人員配對 IronPDF, 一個強大的 C# 圖書館,用於 PDF 生成,與安全身份管理相結合,它們可以輕鬆地將兩者組合起來,創建符合各種應用需求的 PDF 文檔。

IdentityServer4 提供了一種基於標準的模塊化解決方案,使身份管理安裝變得更加容易。在其幫助下,開發人員可以創建一個集中的身份提供者,處理用戶身份驗證、訪問、令牌驗證和發行,以及多種服務和應用的權限驗證。IdentityServer4 支持多種身份驗證方法,例如用戶名/密碼、社交登錄和多因素身份驗證,使開發人員能夠創建安全而直觀的身份驗證體驗。

本教程將涵蓋 C# 的整合 IdentityServer4IronPDF展示如何使用IdentityServer4創建授權和身份驗證的安全流程,以及如何使用創建的用戶身份來自訂IronPDF的PDF文件創建。我們將介紹如何提升您的C#應用程序的安全性和功能,從配置IdentityServer4作為中央身份和身份驗證提供者到整合IronPDF進行動態PDF生成。

什麼是 IdentityServer4 c#?

一個受歡迎的開源框架叫做 IdentityServer4 用於 .NET 和 C# 應用程式中進行身份管理、授權和認證。它是一個靈活的解決方案,用於保護網絡應用程式、API 和微服務,因為它符合現代安全協議(例如 OpenID Connect 和 OAuth 2.0)。

IdentityServer4 基本上作為集中認證服務器,處理使用者身份識別和許可管理核心身份、有效訪問權杖發行和憑據驗證。它使程式設計師能夠集成聯合認證和單一登錄。 (單一登入) 輸入多個應用程序和服務,從而帶來安全順暢的最終用戶體驗。

IdentityServer .NET(它如何為開發者工作):圖1 - IdentityServer4:使用ASP.NET Core Identity

IdentityServer4 的功能

單一登入 (SSO)

用戶無需重新輸入憑證,只需一次驗證即可訪問不同的應用程式或服務。

支援 OpenID Connect 和 OAuth 2.0

為了提供廣泛的客戶端應用程式和平臺相容性及支援,IdentityServer4 提供了業界標準協議,用於安全的身份驗證和授權。

靈活設定

由於開發人員可以精細控制身份驗證和許可權政策的配置方式,因此可以自訂安全設置以符合特定應用程序需求。

與 ASP.NET Core 的連接

由於 IdentityServer4 與該框架的無縫整合,ASP.NET Core 網頁應用程式和 API 的身份驗證變得非常簡單。

個性化與適應性

由於框架具有高度的可擴展性和自訂性,開發人員可以根據需要添加新的使用者存儲、身份提供商、測試使用者和驗證工作流程。

用戶驗證

IdentityServer4 為開發者提供了靈活的選擇,以配置最適合其 web 應用程式需求的身份驗證機制。這些機制包括用戶名/密碼、社交登入 (如 Google、Facebook 等。)和外部身份提供者 (例如 Active Directory、Azure AD 等。).

授權政策

為了保證只有授權的使用者可以訪問特定資源或在應用程式內執行特定操作,開發人員可以根據使用者角色、聲明或其他標準建立細緻的授權政策。

令牌管理

訪問令牌、刷新令牌和身份令牌均由 IdentityServer4 管理,它提供了一種安全的方法來進行用戶身份驗證和訪問受身份服務器保護的資源的許可。

建立和配置

為了在 Visual Studio 的 C# 專案中設置 IdentityServer4,您必須完成以下步驟:

在 Visual Studio 中創建新專案

啟動 Visual Studio 應用程式後,您可以選擇 "建立新專案" 選項,也可以選擇檔案選單 > 新增 > "新專案"。接下來,選擇 "Asp.NET Core Web App"。 (模型-視圖-控制器)在選擇「新專案」後,我們將使用此應用程式在本教程中製作 PDF 文件。

「新專案」選項。然後選擇「ASP.NET Core Web App」" />

選擇檔案路徑並在相應的文字框中輸入專案名稱。接下來,點擊「建立」按鈕選取必要的 .NET 框架,如下圖所示。

IdentityServer .NET(對開發人員的運作方式):圖3 - 接下來,通過指定項目名稱和位置配置您的項目。點擊下一步。

接下來,決定需要哪個框架並按下建立按鈕。

IdentityServer .NET(對開發人員的運作方式):圖 4 - 指定額外資訊,如框架、身份驗證類型,選擇是否配置 HTTPs 和啟用 Docker。然後點擊建立。

所選應用程式的結構現在將由 Visual Studio 專案生成。我們在此範例中使用的是 ASP.NET MVC。為了編寫程式碼,我們可以創建一個新的控制器,或利用已存在的控制器,這樣可以輸入程式碼並建構/運行應用程式。

IdentityServer .NET(運作方式介紹給開發人員):圖5 - ASP.NET Core Web App(MVC)專案成功建立。

要測試代碼,我們可以隨後添加該庫。

安裝 IdentityServer4 套件

使用 .NET CLI 或 Visual Studio 中的 NuGet 套件管理器,將 IdentityServer4 套件添加到您的項目中。使用套件管理器控制台或終端機,輸入以下命令來安裝最新版本的套件:

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

在 .NET Core 專案中配置 IdentityServer4

在您的 ASP.NET Core 應用程式中,通過向 Startup.cs 文件中添加所需的身份驗證中間件和服務來配置 IdentityServer4。這裡提供了一個配置 IdentityServer4 的入門代碼範例:

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#

配置客戶端、身份資源和API資源

配置客戶端、身份資源 (範圍)IdentityServer4 需要配置、數據庫和 API 資源。這些配置可以在不同的類別中定義,例如 Config.cs:

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#

通過遵循這些說明,您可以在 ASP.NET Core 應用程式中啟用安全的驗證和授權,方法是以 C# 專案中創建和配置 IdentityServer4。

開始使用 IdentityServer4 與 IronPDF

這些指示將引導您配置 IdentityServer4 用於安全的身份驗證和授權代碼與使用 IronPDF 在 C# 專案中建立 PDF 文件。您將學習如何按照此說明基於基本設置創建項目。

什麼是IronPDF?

用於 .NET 應用程序, IronPDF 是一個功能豐富的庫,用於與PDF文檔互動。其廣泛的功能集允許用戶從頭開始或從HTML內容創建PDF,還可以添加、刪除或重新排列已存在PDF文檔的部分。IronPDF為開發人員提供了強大的API,用於生成、修改和轉換PDF文件,簡化了在.NET應用程序中處理PDF的工作。

IdentityServer .NET(開發人員的工作原理):圖 6 - IronPDF for .NET:C# PDF 庫

IronPDF 的主要功能

HTML 轉換為 PDF

使用 IronPDF,您可以製作高品質的 PDF 文件 使用 HTML 內容, 包括 JavaScript 和 CSS。這一功能在從網站或動態信息創建 PDF 時非常有用。

更改和改進PDF

IronPDF 允許您 修改PDF文件 已存在的。一個人可以將多個PDF合併成一個文件,從PDF中提取頁面,並添加文字、照片、浮水印或評論。

馬上製作PDF

使用IronPDF的API,您可以以程式方式將文字、圖片、形狀和其他物件添加到新建立的PDF文件中。這使得動態生成PDF發票、報告和其他基於文件的輸出成為可能。

PDF 的安全性

您可以管理訪問並保護關鍵數據 加密 PDF 檔案 使用 IronPDF 和 添加密碼安全性.

PDF中的表單

使用IronPDF,使用者可以透過建立、填寫來處理PDF文件, 提交 PDF 表單,以及在表單欄位中輸入資料。

文字要點

IronPDF 是一個有助於文字數據操作、分析和搜索的工具,通過 提取文字資訊 從 PDF 文件。

轉換為圖片格式

IronPDF 在需要照片而不是 PDF 的情況下非常有用,因為它可以將 PDF 文件轉換為常見的圖片格式,包括 PNG、JPEG 和 BMP。

安裝 IronPDF

使用 .NET CLI 或 NuGet 套件管理器新增最新版本的 IronPDF 立即添加至您的專案。

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

使用 IdentityServer4 集成 IronPDF C#

在 Startup.cs 文件中設置 IdentityServer4 所需的服務和中介軟體,類似於上面的代碼。然後創建一個名為 PdfController.cs 的新的 MVC 控制器來處理使用 IronPDF 的 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");
    }
}
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#

使用 IdentityServer4 設置安全的用戶身份驗證和授權,接著用 IronPDF 創建只有經過身份驗證的用戶才能訪問的 PDF 文檔,是在 C# 應用程序中將 IronPDF 與 IdentityServer4 集成的過程。所提供的代碼示例在 Startup.cs 文件中配置了 IdentityServer4,以通過內存配置處理用戶身份管理並處理客戶端憑據。

由於 PdfController 受到保護,只有授權用戶才能訪問其操作。 [授權] 屬性。該控制器使用異步方法,通過 IronPDF 庫將 HTML 資訊渲染為 PDF 格式。PDF 生成過程中的步驟是:構建 ChromePdfRenderer 渲染器;轉換 HTML 文本 轉換為 PDF 文檔;並將 PDF 作為文件回應發送回來。

為了將強大的安全性與動態文件生成功能結合起來,整合將 PDF 生成邏輯嵌入在一個安全的端點內,確保只有經過 IdentityServer4 驗證的用戶才能發起 PDF 創建。這種方法在需要安全處理文件的應用中格外有效,包括創建發票、報告,或基於用戶特定信息定制內容,同時通過 IdentityServer4 強制實行嚴格的訪問控制。

IdentityServer .NET(如何為開發人員工作):圖 7 - 使用 IronPDF 生成的輸出 PDF,並由 IdentityServer4 提供安全的用戶身份驗證和授權。

結論

總而言之,整合 IdentityServer4IronPDF 在一個 C# 專案中成功地將強大的安全性與建立動態 PDF 的能力結合在一起。通過提供單一且標準化的管理用戶身份和訪問控制的方法,IdentityServer4 保證了安全的用戶身份驗證和授權。通過使用 IronPDF,開發人員可以生成高質量的 PDF 文件,這些文件僅授權用戶可以訪問,所有這些都基於經過驗證的用戶數據。

這種整合提高了應用程序的安全性和功能,使其非常適合於如生成發票、報告和個性化內容等需要安全文檔處理的場景。總而言之,這種組合 IdentityServer4IronPDF 提供了一個在 .NET 框架內創建安全、有效且以用戶為中心的應用程式的強大選擇。 IronPDFIronSoftware 技術被整合到您的企業應用開發堆棧中,IronPDF 可以為開發人員提供功能豐富的解決方案 文檔 為客戶和終端用戶提供高級軟體解決方案。這一堅實的基礎也將使項目、後端系統和流程改進變得更加容易。

IronPDF, 組合了 9 種不同的 .NET API 產品,適用於一個 授權價格 僅兩個!

這些技術是現代軟體開發專案的絕佳選擇,因為它們擁有廣泛的文件、活躍的線上開發者社群,以及定期升級。

< 上一頁
OData C#(開發人員如何運作)
下一個 >
Flurl C#(它如何為開發人員工作)

準備開始了嗎? 版本: 2024.9 剛剛發布

免費 NuGet 下載 總下載次數: 10,746,704 查看許可證 >