小编典典

如何获得当前用户,以及如何在MVC5中使用User类?

c#

  • 如何获取 MVC 5中 当前登录用户的ID ?我尝试了StackOverflow建议,但它们似乎不适用于MVC 5。
  • 另外,将素材分配给用户的MVC 5最佳实践是什么?(例如,User应该有Items,我应该存储在用户IdItem?我可以扩展User与类List<Item>导航属性?

我正在使用MVC模板中的“个人用户帐户”。

尝试了这些:

‘Membership.GetUser()’为空。


阅读 345

收藏
2020-05-19

共1个答案

小编典典

如果您在ASP.NET MVC控制器中进行编码,请使用

using Microsoft.AspNet.Identity;

...

User.Identity.GetUserId();

值得一提的是User.Identity.IsAuthenticatedUser.Identity.Name无需添加上述using声明即可使用。但是GetUserId()没有它就不会出现。

如果您在控制器以外的课程中,请使用

HttpContext.Current.User.Identity.GetUserId();

在MVC 5的默认模板中,用户ID是存储为字符串的GUID。

尚无最佳实践,但发现了一些有关扩展用户个人资料的有价值的信息:

  • 概述Identityhttps : //devblogs.microsoft.com/aspnet/introducing-asp-net-identity-a-membership-system-for-asp-net-applications/
  • 有关如何通过添加额外属性来扩展用户配置文件的示例解决方案:https : //github.com/rustd/AspnetIdentitySample
2020-05-19