Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

Blazor AuthorizeView: How to use Custom Authorization Filter

$
0
0

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 };    }}

}


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>