XiHan.Framework.Security.Conformance
5.0.0-rc.2
Prefix Reserved
dotnet add package XiHan.Framework.Security.Conformance --version 5.0.0-rc.2
NuGet\Install-Package XiHan.Framework.Security.Conformance -Version 5.0.0-rc.2
<PackageReference Include="XiHan.Framework.Security.Conformance" Version="5.0.0-rc.2" />
<PackageVersion Include="XiHan.Framework.Security.Conformance" Version="5.0.0-rc.2" />
<PackageReference Include="XiHan.Framework.Security.Conformance" />
paket add XiHan.Framework.Security.Conformance --version 5.0.0-rc.2
#r "nuget: XiHan.Framework.Security.Conformance, 5.0.0-rc.2"
#:package XiHan.Framework.Security.Conformance@5.0.0-rc.2
#addin nuget:?package=XiHan.Framework.Security.Conformance&version=5.0.0-rc.2&prerelease
#tool nuget:?package=XiHan.Framework.Security.Conformance&version=5.0.0-rc.2&prerelease
XiHan.Framework.Security.Conformance
关于
XiHan.Framework.Security.Conformance 是安全的一致性测试套件,给实现 IPermissionGrantStore 与授予管理 IPermissionGrantAdministration 的人验证实现用:继承 PermissionGrantStoreConformance、PermissionGrantAdministrationConformance 并通过全部用例。普通应用不需要它。
主要特性
- 覆盖用户与角色授予、平台 / 每个租户 / 租户专属三种范围互不渗透、通配授予与大小写区分
- 覆盖存储不可达时返回失败而不是空集合
- 授予管理:逐项结果、撤销不存在、过滤与分页;写入之前读过的判定在写入之后立即看见变化;另一个实例在时限内看见变化(多实例一致的实现覆写
StartPeerAsync)
如何使用
安装
dotnet add package XiHan.Framework.Security.Conformance --prerelease
使用
在提供程序的测试项目里继承基类并实现 CreateStoreAsync:
public sealed class InMemoryPermissionGrantStoreConformanceTests : PermissionGrantStoreConformance
{
protected override ValueTask<IPermissionGrantStore> CreateStoreAsync(IReadOnlyList<PermissionGrant> grants)
=> ValueTask.FromResult<IPermissionGrantStore>(new InMemoryPermissionGrantStore(new InMemorySecurityOptions { Grants = grants }));
}
访问外部存储的提供程序还要覆写 CreateUnavailableStoreAsync,给出一个背后存储不可达的实例。
授予管理继承 PermissionGrantAdministrationConformance,实现 StartAsync()(返回读空授予表的判定存储)与 AdministerAsync(action)(在一次调用里使用授予管理)。承诺多实例一致的实现覆写 StartPeerAsync(),返回与被测实例共用持久化与缓存后端的另一个实例的判定存储,另一个实例要在 PeerVisibilityTimeout(缺省 5 秒)内看见授予与撤销;默认返回 null,该用例跳过。
主要类型
此库提供的主要类型:
PermissionGrantStoreConformance:授予存储的一致性用例基类PermissionGrantAdministrationConformance:授予管理的一致性用例基类
更多文档
相关包
反馈与贡献
XiHan.Framework.Security.Conformance 以 MIT 许可证 开源。欢迎到 GitHub 仓库 提交问题和贡献。
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.14)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Diagnostics.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Options (>= 10.0.14)
- System.Threading.RateLimiting (>= 10.0.14)
- XiHan.Framework.Security.Abstractions (>= 5.0.0-rc.2)
- xunit.v3.assert (>= 4.0.2)
- xunit.v3.extensibility.core (>= 4.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 5.0.0-rc.2 | 0 | 11/15/2026 |
| 5.0.0-rc.1 | 70 | 11/13/2026 |
| 5.0.0-preview.3 | 49 | 11/11/2026 |
| 5.0.0-preview.2 | 79 | 11/6/2026 |
| 5.0.0-preview.1 | 52 | 11/4/2026 |