Azure.Extensions.AspNetCore.DataProtection.Blobs 1.3.4

前缀已预留
dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs --version 1.3.4                
NuGet\Install-Package Azure.Extensions.AspNetCore.DataProtection.Blobs -Version 1.3.4                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的版本 Install-Package.
<PackageReference Include="Azure.Extensions.AspNetCore.DataProtection.Blobs" Version="1.3.4" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用该包。
paket add Azure.Extensions.AspNetCore.DataProtection.Blobs --version 1.3.4                
#r "nuget: Azure.Extensions.AspNetCore.DataProtection.Blobs, 1.3.4"                
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将其复制到交互式工具或脚本的源代码中,以引用该包。
// Install Azure.Extensions.AspNetCore.DataProtection.Blobs as a Cake Addin
#addin nuget:?package=Azure.Extensions.AspNetCore.DataProtection.Blobs&version=1.3.4

// Install Azure.Extensions.AspNetCore.DataProtection.Blobs as a Cake Tool
#tool nuget:?package=Azure.Extensions.AspNetCore.DataProtection.Blobs&version=1.3.4                

Azure Storage Blob Key Store for Microsoft.AspNetCore.DataProtection

Azure.Extensions.AspNetCore.DataProtection.Blobs 包允许将 ASP.NET Core DataProtection 密钥存储在 Azure Blob Storage 中。密钥可以跨多个 Web 应用的实例共享。应用可以跨多台服务器共享身份验证 Cookie 或 CSRF 保护。

入门

安装包

使用 NuGet 安装包

dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs

先决条件

您需要一个 Azure 订阅存储账户存储容器 以使用此包。

要创建一个新的存储帐户,您可以使用 Azure 门户Azure PowerShellAzure CLI。以下是一个使用 Azure CLI 的示例。

az storage account create --name <storage-account> --resource-group <resource-group> --location westus --sku Standard_LRS
az storage container create --account-name <storage-account> -n <container>

# Give write access to a user
az role assignment create --role "Storage Blob Data Contributor" --assignee <your_email> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"

# OR give write access to a service principal (application)
az role assignment create --role "Storage Blob Data Contributor" --assignee-object-id <application_id> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"

关键概念

线程安全

我们保证所有客户端实例的方法都是线程安全的,并且互不干扰(请参阅指导方针)。这确保了重用客户端实例的建议总是安全的,即使在多线程的情况下。

其他概念

客户端选项 | 访问响应 | 长时间运行的操作 | 处理失败 | 诊断 | 模拟 | 客户端生命周期

示例

要启用将密钥持久化到 Azure Blob 存储,请调用 PersistKeysToAzureBlobStorage 方法。提供的 Uri 必须是以下形式的 blob URI:https://{storage_account}.blob.core.windows.net/{container}/{blob}

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage(new Uri("<full-blob-URI>"), new DefaultAzureCredential());
}

Azure Identity 库 为 Azure Active Directory 认证提供了简单支持。

使用连接字符串进行身份验证

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage("<connection string>", "<container name>", "<blob name>");
}

下一步

了解更多关于 ASP.NET Core 中的数据保护 的信息。

贡献

本项目欢迎贡献和建议。大多数贡献都需要您同意一项贡献者许可协议(CLA),声明您有权,并且实际上确实已经授予我们使用您贡献的权利。有关详细信息,请访问 cla.microsoft.com

本项目采用了 Microsoft Open Source Code of Conduct。有关更多信息,请参阅 行为准则 FAQ 或通过 [email protected] 联系我们,以解决任何额外的问题或评论。

产品 兼容和额外的计算目标框架版本。
.NET net5.0 已计算。 net5.0-windows 已计算。 net6.0 已计算。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
.NET Core netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET 标准库 netstandard2.0 兼容。 netstandard2.1 已计算。
.NET 框架 net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet包 (21)

显示依赖Azure.Extensions.AspNetCore.DataProtection.Blobs的前5个NuGet包

下载
Indice.AspNetCore

包描述

OrchardCore.DataProtection.Azure

Orchard Core框架是用于在ASP.NET Core上构建模块化、多租户应用程序的应用程序框架。提供Azure Blob Storage以支持数据保护密钥圈。

Aguacongas.IdentityServer.KeysRotation

IdServer签名密钥轮换。

Jeebs.Apps

Jeebs.Apps库

Pat.DataProtection

Purplebricks数据保护机制以支持消息的加密和解密

GitHub仓库 (13)

显示依赖Azure.Extensions.AspNetCore.DataProtection.Blobs的前5个流行GitHub仓库

仓库 星标
bitwarden/server
Bitwarden基础设施/后端(API、数据库、Docker等)。
dotnet/AspNetCore.Docs
ASP.NET Core文档
nopSolutions/nopCommerce
ASP.NET Core电子商务软件。nopCommerce是一个免费的开源购物车。
dodyg/practical-aspnetcore
ASP.NET Core 9预览版6,8.0,7.0,6.0,5.0,3.1,2.2和2.1的实际示例项目,您可以使用的项目。Readme包含所有项目的说明。
OrchardCMS/OrchardCore
Orchard Core是一个基于ASP.NET Core的开源模块化和多租户应用程序框架,并在该框架之上构建了一个内容管理系统(CMS)。
版本 下载 最后更新
1.3.4 770,234 4/17/2024
1.3.3 828,614 2/13/2024
1.3.2 3,966,943 3/14/2023
1.3.1 66,973 3/7/2023
1.3.0 559,135 2/7/2023
1.2.3 2,338,171 9/12/2022
1.2.2 50,099 9/6/2022
1.2.1 4,865,671 5/14/2021
1.2.0 1,298,989 12/17/2020
1.1.0 16,541 12/16/2020
1.0.1 679,401 8/10/2020
1.0.0 61,893 6/5/2020
1.0.0-preview.2 489 5/5/2020