MiddlewareExtensions
title: “MiddlewareExtensions” description: “MiddlewareExtensions Class” lead: "" date: 2023-06-12T13:46:25-06:00 lastmod: 2023-06-12T13:46:25-06:00 draft: false images: [] menu: docs: parent: “dotnet-api” weight: 323 toc: true
Class Reference
Definition
Provides a class to register ASP.NET Core Middleware SDK implementations with an IApplicationBuilder.
- Namespace: TrimbleCloud.Tam.AspNet
- Assembly: TrimbleCloud.Tam.AspNet.dll
public static class MiddlewareExtensionsInitialization
This is a static class and provides extension methods for an IApplicationBuilder. Additional SDK classes must be registered with the IServiceCollection via AccessManagementExtensions.
Methods
UseAccessManagement
Registers middleware with ASP.NET Core to provide authorization decisions before action taken on a call to a controller for example.
public static IApplicationBuilder UseAccessManagement(this IApplicationBuilder builder, string packageNamespace, string rule);Parameters
builder IApplicationBuilder
The application builder for ASP.NET Core.
packageNamespace string
The policy package namespace to use for decisions.
rule string
The policy rule to use for decisions.
Remarks
UseAccessManagement is designed to operate against a single package namespace, but ASP.NET core pipeline can be used to customize which package is used based upon conditional routing.
For example:
app.UseWhen(context => context.Request.Path.StartsWithSegments("/api"), appBuilder =>{ app.UseAccessManagement("sample.authz", "allow");});Example
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddAccessManagement(environment, consumerKey, consumerSecret, applianceUrl);
var app = builder.Build();
app.UseAuthorization();app.UseAccessManagement("sample.authz", "allow");
app.MapControllers();
app.Run();