当用户为空时,我需要从 blazor Web 程序集中的
AuthenticationStateProvider
返回此值。
public override async Task<AuthenticationState> GetAuthenticationStateAsync()
{
var principal = new ClaimsPrincipal();
var user = await _userService.FetchUserFromBrowser();
if (user is not null)
{
var authenticatedUser = await _userService.SendAuthenticateRequestAsync(user.Username, user.Password);
if (authenticatedUser is not null)
{
principal = authenticatedUser.ToClaimsPrincipal();
CurrentUser = authenticatedUser;
}
}
else
{
/*TODO*/
}
return new(principal);
}
var principal = new ClaimsPrincipal(new GenericIdentity("anonymous"));