在Action Filter中获取UserID(而不是Identity.Name)

时间:2017-08-16 18:42:39

标签: asp.net asp.net-mvc asp.net-identity

我需要在ASP.Net MVC应用程序的 Action Filter 中找到array[3]。我可以在普通控制器中得到相同的结果,如下所示。

enter image description here

我知道如何在Action Filter中获取UserName。

enter image description here

但是当我尝试获取UserID时,我收到错误

UserID
  

错误CS1061'Identity'不包含'GetUserID'的定义,也没有扩展方法'GetUserID'接受类型'IIdentity'的第一个参数可以找到

如何在Action Filter中获取UserID?

更新 - 参考:

  1. ClaimsIdentityExtensions
  2. 行动过滤器代码

    string userID = filterContext.HttpContext.User.Identity.GetUserID();
    

1 个答案:

答案 0 :(得分:3)

您需要的功能是GetUserId,而不是GetUserID。它定义为here

您的工作示例与错误之间的区别仅在于您错误地使用ID而非Id