.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# 應用程式來執行身份管理、授權和身份驗證。 由於它符合如 OpenID Connect 和 OAuth 2.0 這樣的當代安全協議,因此它是一個靈活的解決方案,適用於保護網路應用程式、API 和微服務。

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 為開發人員提供了選擇最適合其網頁應用程式需求的認證機制配置的靈活性。 這些機制包括用戶名/密碼,社交登錄(如 Google、Facebook 等。)和外部身份提供者(例如 Active Directory、Azure AD 等。).

授權政策

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

代幣管理

存取權杖、權杖刷新權杖和身份權杖全部由 IdentityServer4 管理,它提供用戶身份驗證和授權存取由身份伺服器保護的資源的安全方法。

創建和配置

要在 Visual Studio 的 C# 專案中設置 IdentityServer4,您必須執行以下步驟:

在 Visual Studio 中建立新專案

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

 related to 在 Visual Studio 中建立新專案「新專案」選項。 然後選擇「ASP.NET Core Web 應用程式」" />

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

IdentityServer .NET(開發者如何使用):圖 3 - 接下來,透過指定專案名稱和位置來配置您的專案。 點擊下一步。

接下來,選擇所需的框架並按下創建按鈕。

IdentityServer .NET(開發者如何使用): 圖4 - 指定額外資訊,如框架、驗證類型,選擇是否要配置HTTPs及啟用Docker。 然後點擊「建立」。

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

IdentityServer .NET(開發者如何使用):圖 5 - ASP.NET Core Web 應用程式(MVC)專案已成功建立。

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

安裝 IdentityServer4 套件

在 Visual Studio 中使用 .NET CLI 或 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。

使用IronPDF開始使用IdentityServer4

這些指示將引導您完成配置IdentityServer4用於安全的身份驗證和授權代碼與使用IronPDF在 C# 專案中創建 PDF 文件。 您將透過遵循此指導學習如何基於基本設置創建專案。

什麼是 IronPDF?

用於 .NET 應用程式,IronPDF是一個功能豐富的庫,用於與 PDF 文件進行交互。 憑藉其豐富的功能集,使用者可以從頭開始創建 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#

將 IronPDF 與 IdentityServer4 C# 集成

在您的 Startup.cs 文件中,為 IdentityServer4 設置所需的服務和中介軟體。類似於上面看到的代碼。 然後建立一個新的 MVC 控制器,命名為 PdfController.cs,以使用 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 Suite, 結合了9個不同的.NET API產品,提供給具競爭力的授權價格!

由於這些技術具有詳盡的文件說明、活躍的線上開發者社群以及定期升級,是現代軟體開發專案的絕佳選擇。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >