Innovabit.DotNet.Interceptors.Authorization.AspNetCore
2.0.117
dotnet add package Innovabit.DotNet.Interceptors.Authorization.AspNetCore --version 2.0.117
NuGet\Install-Package Innovabit.DotNet.Interceptors.Authorization.AspNetCore -Version 2.0.117
<PackageReference Include="Innovabit.DotNet.Interceptors.Authorization.AspNetCore" Version="2.0.117" />
<PackageVersion Include="Innovabit.DotNet.Interceptors.Authorization.AspNetCore" Version="2.0.117" />
<PackageReference Include="Innovabit.DotNet.Interceptors.Authorization.AspNetCore" />
paket add Innovabit.DotNet.Interceptors.Authorization.AspNetCore --version 2.0.117
#r "nuget: Innovabit.DotNet.Interceptors.Authorization.AspNetCore, 2.0.117"
#:package Innovabit.DotNet.Interceptors.Authorization.AspNetCore@2.0.117
#addin nuget:?package=Innovabit.DotNet.Interceptors.Authorization.AspNetCore&version=2.0.117
#tool nuget:?package=Innovabit.DotNet.Interceptors.Authorization.AspNetCore&version=2.0.117
Innovabit.DotNet.Interceptors.Authorization.AspNetCore
ASP.NET Core provider for
Innovabit.DotNet.Interceptors.Authorization.Abstractions:
[Authorized] and [RequirePermission] are checked against HttpContext.User, using the
framework's own authorization services.
Usage
services.AddAuthorization(options =>
options.AddPolicy("finance", policy => policy.RequireClaim("dept", "finance")));
services
.AddInterceptors()
.AddAspNetCoreAuthorization();
services.AddScopedWithInterception<IRefundService, RefundService>();
AddAspNetCoreAuthorization calls AddHttpContextAccessor() for you; AddAuthorization() is yours
to configure, since the policies are yours.
How each rule is checked
| Rule | Checked against |
|---|---|
[Authorized] |
HttpContext.User.Identity.IsAuthenticated |
[Authorized(Roles = …)] |
ClaimsPrincipal.IsInRole — any one of them |
[Authorized(Policy = …)] |
IAuthorizationService.AuthorizeAsync, so your policies apply unchanged |
[RequirePermission("x")] |
A claim of type permission with value x — all of them |
services.AddInterceptors().AddAspNetCoreAuthorization(o =>
{
o.PermissionClaimType = "scope"; // match whatever your identity provider issues
o.FallBackToPolicies = true; // try a permission as a policy name when no claim matches
});
FallBackToPolicies is off by default: falling through to the policy system hides a typo in a
permission name behind a second lookup, and a missing policy throws rather than denying.
Outside a request
There is no HttpContext in a background job or a hosted service, so there is no caller and every
guarded method refuses with AuthenticationRequiredException. That is the safe default. A job that
legitimately runs as the system should register an evaluator of its own rather than have this one
invent an identity:
services.AddInterceptors()
.AddAspNetCoreAuthorization()
.UseAuthorizationEvaluator<SystemOrHttpAuthorizationEvaluator>();
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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
-
net8.0
-
net9.0
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 |
|---|---|---|
| 2.0.117 | 48 | 10/31/2026 |
| 2.0.116 | 92 | 10/26/2026 |
| 2.0.115 | 98 | 10/17/2026 |
| 2.0.114 | 96 | 10/10/2026 |
| 2.0.113 | 109 | 10/3/2026 |
| 2.0.112 | 106 | 9/28/2026 |
| 2.0.111 | 94 | 9/28/2026 |
| 2.0.110 | 99 | 9/27/2026 |
| 2.0.109 | 96 | 9/26/2026 |
| 2.0.108 | 101 | 9/26/2026 |
| 2.0.107 | 100 | 9/26/2026 |
| 2.0.105 | 110 | 9/25/2026 |
| 1.0.0.104 | 98 | 9/25/2026 |
| 1.0.0.103 | 92 | 9/25/2026 |