IronAlpine.Security.AspNetCore
1.1.0
dotnet add package IronAlpine.Security.AspNetCore --version 1.1.0
NuGet\Install-Package IronAlpine.Security.AspNetCore -Version 1.1.0
<PackageReference Include="IronAlpine.Security.AspNetCore" Version="1.1.0" />
<PackageVersion Include="IronAlpine.Security.AspNetCore" Version="1.1.0" />
<PackageReference Include="IronAlpine.Security.AspNetCore" />
paket add IronAlpine.Security.AspNetCore --version 1.1.0
#r "nuget: IronAlpine.Security.AspNetCore, 1.1.0"
#:package IronAlpine.Security.AspNetCore@1.1.0
#addin nuget:?package=IronAlpine.Security.AspNetCore&version=1.1.0
#tool nuget:?package=IronAlpine.Security.AspNetCore&version=1.1.0
IronAlpine.Security.AspNetCore
AspNetCore security runtime for current-user resolution, JWT validation, and permission policy execution.
Install
dotnet add package IronAlpine.Security.AspNetCore
Fluent Setup
builder.Services
.AddIronAlpineSecurityJwt(builder.Configuration)
.WithAuthorizationCore()
.AddPolicyCatalog<Permissions>()
.WithSignalR("/hubs/messenger");
Includes
HttpContextCurrentUserimplementation (ICurrentUser+IAuditUser)AddIronAlpineSecurityJwt(...)fluent entry pointPermissionRequirementAuthorizeAnyPermissionAttributePermissionPolicyProviderPermissionAuthorizationHandlerIPermissionPolicyNameResolverDefaultPermissionPolicyNameResolver(passthrough)- policy-catalog helpers for smart-enum or reflected permission catalogs
Policy Name Resolver
IPermissionPolicyNameResolver lets host applications map endpoint policy names to permission names.
- Example:
Policy = "IdentitySessionsRead"→Permission = "identity:sessions:read" - If no custom resolver is registered,
DefaultPermissionPolicyNameResolveruses passthrough behavior.
Policy Catalogs
For permission catalogs that already expose static GetValues() and GetFieldName(...) members plus an instance Name value, use:
builder.Services
.AddIronAlpineSecurityJwt(builder.Configuration)
.AddPolicyCatalog<Permissions>();
If you already have values and selectors, use:
builder.Services
.AddIronAlpineSecurityJwt(builder.Configuration)
.WithSmartEnumCatalog(Permissions.GetValues(), Permissions.GetFieldName, x => x.Name);
AddPolicyCatalog<TPermission>(prefix) prepends the raw prefix to generated policy names when a service wants a namespace such as "Admin:".
SignalR Token Support
Query-string token extraction is optional and only active when:
SignalR.EnableAccessTokenFromQuery = true- Request path matches one of
SignalR.HubPaths
Notes
- Multi-value claims are preserved without data loss.
Auth:Mode=Noneand fake authentication are not part of this package.AuthorizeAnyPermissionprovides OR semantics; multiple[Authorize]attributes provide AND semantics.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- IronAlpine.Framework.Abstractions (>= 1.1.0)
- IronAlpine.Security.Abstractions (>= 1.1.0)
- IronAlpine.Security.Authorization (>= 1.1.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 9.0.7)
-
net9.0
- IronAlpine.Framework.Abstractions (>= 1.1.0)
- IronAlpine.Security.Abstractions (>= 1.1.0)
- IronAlpine.Security.Authorization (>= 1.1.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 9.0.7)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on IronAlpine.Security.AspNetCore:
| Package | Downloads |
|---|---|
|
IronAlpine.Security.Authorization.EFCore
Entity Framework Core store and model mapping for IronAlpine security authorization. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.0 | 39 | 3/12/2026 |
Stable mediator release with request/response, notification publish strategies, streaming, and dependency injection integration.