2016-05-15 28 views
0

在我的WebAPI控制器的功能后,通过我分配User.identity.GetUserId()用户ID给我贴的对象,但始终ModelState.isValid返回的ModelState验证错误时,从User.Identity.GetUserId()

用户ID需要验证错误获取价值

将值分配给所需的属性。所以我从userId属性中删除了必需的属性。它正在工作,但我需要知道为什么ModelState不知道用户标识已提供User.Identity.GetUserId()

+0

也许'User'为空? – demo

+0

不是,因为它保存在数据库中。问题是我无法在此属性上使用[必需的]属性。但是删除这个属性并不能确定userId是否被传递。 – Khalil

回答

1

如果您正在使用Web API 2,而不是User.identity.GetUserId()使用

RequestContext.Principal.Identity.GetUserId() 

using Microsoft.AspNet.Identity; 
using Microsoft.AspNet.Identity.Owin; 

Request.GetOwinContext().GetUserManager<ApplicationUserManager>() 
+0

谢谢...它的工作。 – Khalil