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
<PackageReference Include="Azure.Extensions.AspNetCore.DataProtection.Blobs" Version="1.3.4" />
paket add Azure.Extensions.AspNetCore.DataProtection.Blobs --version 1.3.4
#r "nuget: Azure.Extensions.AspNetCore.DataProtection.Blobs, 1.3.4"
// 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 PowerShell 或 Azure 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 已计算。 |
-
.NETStandard 2.0
- Azure.Core (>= 1.38.0)
- Azure.Storage.Blobs (>= 12.16.0)
- Microsoft.AspNetCore.DataProtection (>= 3.1.32)
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 |