Blazor Web App 项目模板( .NET 9.0 )身份验证 Account 使用备忘03:获取登录用户信息

一、通过 SignInManager 获取

@inject SignInManager SignInManager

......

var user = SignInManager.Context.User;

 

二、通过 authenticationState 获取

注:在 Program.cs 中默认添加了服务

builder.Services.AddCascadingAuthenticationState();

[CascadingParameter]
public required Task authenticationState { get; set; }

......

var user = (await authenticationState).User;
var isAuthenticated = user.Identity?.IsAuthenticated;

三、通过 AuthenticationStateProvider 获取 

注:在 Program.cs 中默认添加了服务

builder.Services.AddScoped();

@inject AuthenticationStateProvider AuthenticationStateProvider

......

var user = (await AuthenticationStateProvider.GetAuthenticationStateAsync()).User;
var userName = user.Identity?.Name;

你可能感兴趣的:(Blazor,#,Blazor,Web,App,web,app,.net,c#,bootstrap)