从ASP.NET/Blazor服务器中的当前已验证用户获取数据



我有这个ApplicationUser类

using Microsoft.AspNetCore.Identity;
namespace BbcSrUI.Data.Models
{
public class ApplicationUser : IdentityUser
{
public int BrandId { get; set; }
public bool EnableNewCall { get; set; }
public bool EnableNewEvent { get; set; }
public bool EnableCalls { get; set; }
public bool EnableEvents { get; set; }
}
}

我想访问索引页面中经过身份验证的用户的BrandId数据。

我目前也在使用相同类型的系统。这是我获得";ApplicationUser";来自已验证用户的信息。首先,我有这个功能。

[CascadingParameter]
private Task<AuthenticationState> authenticationStateTask { get; set; }
[CascadingParameter]
public AuthenticationState AuthenticationState { get; set; }
public async Task<Guid> GetUserId()
{
AuthenticationState = await authenticationStateTask;
string Id =
AuthenticationState.User.FindFirstValue(ClaimTypes.NameIdentifier);
return Guid.Parse(Id);
}

此函数返回当前经过身份验证的用户的ID。现在,在我的项目中,我有一个UserService设置。所以我可以很容易地调用:

ApplicationUser user = await userService.GetUserByIdAsync(await GetUserID);

在这一点上,我可以访问有关当前登录用户的所有信息。

AuthorName = user.FullName;
AuthorPhone = user.PhoneNumber;
AuthorEmail = user.Email;

我不确定你的项目是如何建立的,但我想它通常也是这样的。如果你有任何问题,直接问!

相关内容

  • 没有找到相关文章

最新更新