Skip to content

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 MiddlewareExtensions

Initialization

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();