IRONSOFTWAREHOME
開發者更新

IdentityServer .NET(對開發者如何理解的工作)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月23日

安全性在今天的軟體架構中至關重要,特別是當涉及到使用者權限和身份驗證時。 作為實現OpenID Connect和OAuth 2.0的頂尖框架,IdentityServer4為分散式網路中的集中授權提供了一個可靠的選擇。 當開發者使用IronPDF這個強大的C# PDF生成程式庫,並結合安全的身份管理時,他們可以輕鬆地將兩者結合,以建立滿足各種應用需求的PDF文件。

IdentityServer4提供了一個基於標準的模組化解決方案,簡化了身份管理安裝。 它幫助開發者建立一個集中的身份提供者,處理使用者身份驗證、存取、令牌驗證和發行,以及各種服務和應用的權限驗證。IdentityServer4支援多種驗證方法(如使用者名/密碼、社交登入和多因素驗證),使開發者能夠建立安全且直覺的身份驗證體驗。

本教程將介紹如何將IdentityServer4IronPDF整合到C#中,展示如何使用IdentityServer4建立安全授權和身份驗證流程,並如何使用建立的使用者身份來定制IronPDF的PDF文件建立。 我們將討論如何提高您的C#應用的安全性和功能,從配置IdentityServer4作為集中身份和身份驗證提供者,到整合IronPDF進行動態PDF生成。

什麼是IdentityServer4 C#?

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

IdentityServer4本質上運作為一個集中式身份驗證伺服器,處理使用者識別和權限管理核心身份、有效的存取令牌發行以及憑證驗證。 它讓程式設計師能夠為多個應用和服務整合聯邦身份驗證和單點登入(SSO),從而建立一種安全且順暢的最終使用者體驗。

 IdentityServer .NET(這怎麼為開發者工作): 範Figure 1 - IdentityServer4:使用ASP.NET Core Identity

IdentityServer4的功能

SSO,或單點登入

使用者無需重新輸入憑證,即可通過一次身份驗證存取不同的應用或服務。

支援OpenID Connect和OAuth 2.0

IdentityServer4提供行業標準協議,用於安全身份驗證和授權,提供廣泛的使用者端應用程式和平台的相容性和支援。

可調整的設置

開發者可以自定義安全設置以符合特定應用需求,因為他們對身份驗證和權限政策的配置具有細緻控制。

連接到ASP.NET Core

透過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 App(Model-View-Controller)"作為新項目。 此應用程式將在本教程中用於生成PDF文件。

IdentityServer .NET(這怎麼為開發者工作): 圖Figure 2 - 在Visual Studio中,選擇"文件"選單>"新增"> "新項目"選項。 Then select "ASP.NET Core Web App"

選擇文件路徑並在對應的文字框中輸入項目名稱。 接下來,通過點擊圖中顯示的"建立"按鈕選擇所需的.NET Framework。

IdentityServer .NET(這怎麼為開發者工作): 圖Figure 3 - 下一步,通過指定項目名稱和位置來配置您的項目。 點選"下一步"。

決定需要哪個框架並按下"建立"按鈕。

IdentityServer .NET(這怎麼為開發者工作): 圖Figure 4 - 指定資訊如框架、身份驗證型別,選擇是否要配置HTTPS和啟用Docker。 然後點擊"建立"。

Visual Studio項目將生成所選應用的結構。 在此範例中,我們使用ASP.NET MVC。 為撰寫程式碼,我們可以建立一個新控制器或使用現有的控制器來輸入程式碼並構建/運行程式。

IdentityServer .NET(這怎麼為開發者工作): 圖Figure 5 - ASP.NET Core Web App(MVC)項目已成功建立。

為測試程式碼,請新增必要的程式庫。

安裝IdentityServer4套件

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

PM > Install-Package IdentityServer4

在.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();
    }
}

配置使用者端、身份資源和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; }
}

按照這些指示,您可以通過在C#項目中建立和配置IdentityServer4來啟用ASP.NET核心應用的安全身份驗證和授權。

使用IdentityServer4與IronPDF的入門指南

這些指示將指導您如何配置IdentityServer4進行安全身份驗證和授權,並使用IronPDF在C#項目中建立PDF文件。 透過按照這些步驟,您將學習如何基於基本設置建立項目。

什麼是IronPDF?

IronPDF是一個功能豐富的程式庫,用於在.NET應用中與PDF文件互動。 憑藉其豐富的功能集,使用者可以從頭開始或從HTML內容建立PDF,並新增、刪除或重新排列現有PDF的某些部分。 IronPDF為開發者提供了一個強大的API,用於生成、修改和轉換PDF文件,簡化.NET應用中的PDF處理。

 IdentityServer .NET(這怎麼為開發者工作): 圖Figure 6 - IronPDF for .NET:C# PDF Library

IronPDF的關鍵功能

HTML轉PDF

使用IronPDF,您可以利用HTML內容生成高品質的PDF文件,包括JavaScript和CSS。 這項功能在從網站或動態內容建立PDF時特別有用。

修改和增強PDF

IronPDF允許您更改現有的PDF文件。您可以將多個PDF合併成一個文件,從PDF中提取頁面,並新增文字、圖像、水印或註釋。

即時生成PDF

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

PDF安全性

通過加密PDF文件新增密碼保護,您可以管理存取並保護敏感資料。

PDF表單

IronPDF允許使用者建立、填寫和提交PDF表單,並將資料填充到表單字段中。

文字提取

IronPDF藉由從PDF文件中提取文字資訊來協助文字資料操作、分析和搜索。

轉換為圖像格式

IronPDF可以將PDF文件轉換成常見的圖像格式,如PNG、JPEG和BMP,這在需要圖像而非PDF時非常有用。

安裝IronPDF

使用.NET CLI或NuGet包管理器將IronPDF的最新版本新增到您的項目中。

PM > Install-Package IronPdf

Integrate IronPDF With IdentityServer4 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");
    }
}

整合IronPDF與IdentityServer4的過程包括先設置IdentityServer4的安全使用者身份驗證和授權,然後使用IronPDF建立只能被身份驗證後使用者存取的PDF文件。 在提供的程式碼範例中,IdentityServer4被配置在Startup.cs文件中,透過記憶體中的配置和客戶端憑證來處理使用者身份管理。

[Authorize]屬性保護,確保只有授權使用者可以存取其操作。 此控制器使用非同步方法,透過IronPDF程式庫將HTML內容渲染成PDF格式。 PDF生成過程涉及建立ChromePdfRenderer渲染器,將HTML內容轉換成PDF文件,並將PDF作為文件回應返回。

透過將PDF生成邏輯嵌入到安全的端點中,只有通過IdentityServer4身份驗證的使用者才能啟動PDF生成,從而結合強大的安全性和動態文件生成能力。 此設置特別適合需要安全文件處理的應用,如生成發票、報告或根據使用者特定資訊定制內容,同時透過IdentityServer4強制執行嚴格的存取控制。

 IdentityServer .NET(這怎麼為開發者工作): 圖Figure 7 - 使用IronPDF生成的Output PDF與由IdentityServer4提供的安全使用者身份驗證和授權。

結論

總之,在C#專案中IdentityServer4IronPDF的整合有效地將強大的安全性與動態PDF生成能力結合在一起。 IdentityServer4提供了一種統一且標準化的方法來管理多個應用和服務中使用者身份和存取控制,確保使用者身份驗證和授權的安全性。 透過使用IronPDF,開發商可以基於驗證的使用者資料生成僅供身份驗證使用者存取的高品質PDF文件。

這種整合增強了應用的安全性和功能性,使其成為生成需要安全处理的文件如發票、報告和個性化內容等場景的理想選擇。 總體而言,IdentityServer4IronPDF的結合提供了一個引人注目的解決方案,用於在.NET框架內開發安全、有效且以使用者為中心的應用程式。

當您將IronPDFIron Software技術整合進您的企業應用開發堆疊中時,IronPDF可以為客戶和最終使用者提供功能豐富的開發者文件和高級軟體解決方案。 這一堅實的基礎也將促進專案、後端系統和流程的增強。

Iron Suite,結合了9個不同的.NET API產品,以競爭性的授權價格提供! 這些技術是現代軟體開發專案的絕佳選擇,因為它們有全面的文件、活躍的線上開發者社區和定期更新。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立