小编Tom*_*man的帖子

Blazor 导航:在不更改重新加载页面的情况下更新 URL

我在我的应用程序中使用 URL 参数作为页面状态。

如何在不实际导航的情况下更改 URL?

谢谢!

(使用 blazor 服务器端)

c# blazor blazor-server-side

9
推荐指数
2
解决办法
2523
查看次数

如何扩展 Blazor 组件?

我目前正在使用 MudBlazor 并且非常喜欢它。

然而,我发现自己反复添加一些东西到像 CancellationTokens 这样的组件中,自己自定义模板。

有没有办法完全继承/扩展现有组件?

一种选择是创建一个新组件,其中包含我想要修改的组件的实例,并将所有参数添加到我的组件中并将它们映射回原始组件,但我觉得必须有更好的方法。

blazor asp.net-blazor blazor-webassembly mudblazor

7
推荐指数
1
解决办法
3168
查看次数

AspNet Identity RequireClaim() - 如何使用 OR?

我有这个 Visual Studio Identity 代码

namespace BlazorBoilerplate.Shared.AuthorizationDefinitions
{
    public static class Policies
    {
        public const string IsAdmin = "IsAdmin";
        public const string IsUser = "IsUser";
        public const string IsReadOnly = "IsReadOnly";
        public const string IsMyDomain = "IsMyDomain";

        public static AuthorizationPolicy IsAdminPolicy()
        {
            return new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .RequireClaim("IsAdministrator")
                .Build();
        }

        public static AuthorizationPolicy IsUserPolicy()
        {
            return new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .RequireClaim("IsUser")
                .Build();
        }

        public static AuthorizationPolicy IsReadOnlyPolicy()
        {
            return new AuthorizationPolicyBuilder()
                .RequireAuthenticatedUser()
                .RequireClaim("ReadOnly", "true")
                .Build();
        }

        public static AuthorizationPolicy IsMyDomainPolicy()
        {
            return …
Run Code Online (Sandbox Code Playgroud)

c# authorization policies asp.net-identity

5
推荐指数
1
解决办法
1016
查看次数

Blazor AuthorizeView:如何使用自定义授权筛选器

我正在使用 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>
Run Code Online (Sandbox Code Playgroud)

@code {
     async Task LogoutClick()
     {
          await ((IdentityAuthenticationStateProvider)authStateProvider).Logout();
     navigationManager.NavigateTo("/account/login");
     }
}
Run Code Online (Sandbox Code Playgroud)

“AuthorizeContext”从哪里来?依赖注入?我如何在此处使用我自己的自定义授权过滤器。

只是寻找任何人都知道的关于这个特定论点的猜测或信息。

这是我的自定义 AuthorizationFilter,我不知道如何在 blazor razor 文件中使用它。

namespace BlazorBoilerplate.Shared.AuthorizationDefinitions
Run Code Online (Sandbox Code Playgroud)

{ 公共类 OfficeAuthorize : IAuthorizationFilter { 私有只读字符串 _scenario;

    public OfficeAuthorize(string scenario)
    {
        _scenario = scenario;
    }

    public void OnAuthorization(AuthorizationFilterContext context)
    {
        //context.HttpContext.Request.Query
        //custom validation rule …
Run Code Online (Sandbox Code Playgroud)

c# authorization razor blazor blazor-boilerplate

5
推荐指数
1
解决办法
5120
查看次数