我有这个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;
我不确定你的项目是如何建立的,但我想它通常也是这样的。如果你有任何问题,直接问!