我正在使用MVC 5并且拥有一个View,其中包含对控制器的jQuery Ajax调用并检索一些数据。以前我无法进行此Ajax GET,因为控制器已标记为[Authorize]
,因此我将方法标记为[AllowAnonymous]
。
此时我需要确定经过身份验证的用户,但User.Identity
显示IsAuthenticated = false
。这是有道理的,但我需要知道如何在此方法中获取用户的身份。这是方法:
[AllowAnonymous]
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetDesignParams(string countrycode)
{
ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());
if (user != null)
{
... do something ...
}
... do something else ...
return Json(rules, JsonRequestBehavior.AllowGet);
}
有没有办法在这个例程中获取用户身份而不从客户端Ajax GET传递用户ID?
答案 0 :(得分:0)
您需要通过持有人令牌才能使类似API的方法安全
请参阅:Secure a Web API with Individual Accounts and Local Login