在布局页面中使用 Identity 2.0 获取附加字段
Getting additional fields with Identity 2.0 in Layout page
我有一个问题,我认为这很容易解决,但现在变成了一个大问题。
在我的 _Layout.cshtml
页面上,我只想显示当前用户的名字和姓氏。这存储在 AspNetUsers
数据库 table 的 Name
列中。我目前在布局页面上有这个:
<h5>@Context.User.Identity.Name</h5>
这仅显示该用户的用户名,Name
是唯一可用的 属性。有没有办法重载身份以暴露用户的全名?
如果它只在一个页面上,这不会是一个大问题,那么我可以在控制器中加载该用户数据,但它需要在布局中的所有页面之间共享。
检查信息是否存储为声明。然后你可以像这样通过声明身份访问它:
@((ClaimsIdentity)Context.User.Identity).FindFirstValue("fullnameclaimname");
如果声明不存在(检查ClaimsIdentity
的Claims
属性)您可以在GenerateUserIdentityAsync
中验证用户时添加它ApplicationUser
class。在此方法中,您从 ApplicationUser
.
生成 ClaimsIdentity
我有一个问题,我认为这很容易解决,但现在变成了一个大问题。
在我的 _Layout.cshtml
页面上,我只想显示当前用户的名字和姓氏。这存储在 AspNetUsers
数据库 table 的 Name
列中。我目前在布局页面上有这个:
<h5>@Context.User.Identity.Name</h5>
这仅显示该用户的用户名,Name
是唯一可用的 属性。有没有办法重载身份以暴露用户的全名?
如果它只在一个页面上,这不会是一个大问题,那么我可以在控制器中加载该用户数据,但它需要在布局中的所有页面之间共享。
检查信息是否存储为声明。然后你可以像这样通过声明身份访问它:
@((ClaimsIdentity)Context.User.Identity).FindFirstValue("fullnameclaimname");
如果声明不存在(检查ClaimsIdentity
的Claims
属性)您可以在GenerateUserIdentityAsync
中验证用户时添加它ApplicationUser
class。在此方法中,您从 ApplicationUser
.
ClaimsIdentity