gpt4 book ai didi

asp.net-core - Blazor 托管 - 在显示应用程序之前立即授权

转载 作者:行者123 更新时间:2023-12-02 02:53:30 25 4
gpt4 key购买 nike

任何人都可以帮助我插入我的托管 Blazor 应用程序(客户端、服务器和共享)在应用程序首次显示之前立即请求登录。我想要用户在访问应用程序之前必须登录的体验。

我的起点是具有 Api 授权(个人用户帐户)的 Blazor Webassemble(托管)模板

在服务器端操作或客户端 Razor 页面上使用 Authorize 属性不会在具有 Authorize 属性的特定操作/页面之前启动身份验证流程正在被用户请求。在第一次显示应用程序之前,我将如何开始授权流程?

我相信对于比我更精明的人来说这是可能的,甚至是微不足道的。有人可以给我一个正确的方向吗?

最佳答案

我创建了一个控件RedirectToLogin.razor

@inject NavigationManager Navigation
@code {
protected override void OnInitialized()
{
String thisPage = Navigation.Uri.Replace(Navigation.BaseUri, "~/");
Navigation.NavigateTo($"Identity/Account/Login?returnUrl={thisPage}");
base.OnInitialized();
}
}

然后将其插入mainlayout.razor

<div class="container-fluid">
<AuthorizeView>
<Authorized>
<NavigationLogger />
<ContextMenuMouseClick>
<MenuTopBar />
<NavMenu />
<SubPageContainer>
@Body
</SubPageContainer>
</ContextMenuMouseClick>
</Authorized>
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeView>
</div>

因此,当布局加载并且处于 NotAuthorized 状态时,它将重定向到登录页面,授权后将返回到它尝试访问的页面。

希望这有帮助。

关于asp.net-core - Blazor 托管 - 在显示应用程序之前立即授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61565364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com