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

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

    尝试了这些:
  • How do I get the current user in an MVC Application?
  • How to get the current user in ASP.NET MVC
  • Get logged in user's id-这将引发以下内容:

  • 最佳答案

    如果您在ASP.NET MVC Controller 中编码,请使用

    using Microsoft.AspNet.Identity;
    
    ...
    
    User.Identity.GetUserId();
    

    值得一提的是,无需添加上述User.Identity.IsAuthenticated语句,就可以使用User.Identity.Nameusing。但是如果没有GetUserId(),它就不会出现。

    如果您在Controller以外的类(class)中,请使用
    HttpContext.Current.User.Identity.GetUserId();
    

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

    尚无最佳实践,但发现了一些有关扩展用户个人资料的有值(value)的信息:
  • Identity概述:https://devblogs.microsoft.com/aspnet/introducing-asp-net-identity-a-membership-system-for-asp-net-applications/
  • 有关如何通过添加额外属性来扩展用户配置文件的示例解决方案:https://github.com/rustd/AspnetIdentitySample
  • 10-07 19:24
    查看更多