I'm working with this code from the Blazor Boilerplate: (BlazorBoilerPlate GitHub)
@using Microsoft.AspNetCore.Components@inject NavigationManager navigationManager@inject AuthenticationStateProvider authStateProvider<AuthorizeView Context="AuthorizeContext"><Authorized><MatTooltip Tooltip="Logout"><MatIconButton Icon="exit_to_app" RefBack="@context" OnClick="LogoutClick"></MatIconButton></MatTooltip></Authorized><NotAuthorized><MatTooltip Tooltip="Login"><MatIconButton Icon="account_box" RefBack="@context" Link="/account/login"></MatIconButton></MatTooltip></NotAuthorized>@code { async Task LogoutClick() { await ((IdentityAuthenticationStateProvider)authStateProvider).Logout(); navigationManager.NavigateTo("/account/login"); }}Where does the "AuthorizeContext" come from? Depency Injection? How can I use my own custom Authorization Filter here.
Just looking for any guesses or info anyone knows regarding this specific argument.
Here is my custom AuthorizationFilter, I don't know how to use it within the blazor razor file.
namespace BlazorBoilerplate.Shared.AuthorizationDefinitions{ public class OfficeAuthorize : IAuthorizationFilter { private readonly string _scenario;
public OfficeAuthorize(string scenario) { _scenario = scenario; } public void OnAuthorization(AuthorizationFilterContext context) { //context.HttpContext.Request.Query //custom validation rule if (_scenario == "OfficeAssignment") { context.Result = new ForbidResult(); } }}public class OfficeAuthorizeAttribute : TypeFilterAttribute{ public OfficeAuthorizeAttribute(int input) : base(typeof(OfficeAuthorize)) { Arguments = new object[] { input }; }}}