0

场景:我们有带有显示 myOrders 的 MVC 4.0 Web 应用程序,它返回带有历史数据的 json 结果。

此操作将由 JQUERY Ajax 从前端调用。

问题:无论如何我们可以进行身份​​验证并确保从 JQuery Ajax 前端传递的 orderID 属于登录用户?

多谢了。

4

1 回答 1

1

我通常是这样做的。可能您的订单记录应该有一个CreatedById字段,您可以在其中存储创建它的用户的 ID。当您在操作方法中从 Ajax 调用中获取 OrderID 时,从中构建一个 Order 对象ID并检查 CreatedByID 值是什么。将其与当前登录的 UserId 进行比较(您可能在会话中拥有它?)并决定是否向用户显示页面。

像这样的东西。

public ActionResult GetOrder(int id)
{
  Order objOrder=OrderService.Get(id);
  if(objOrder.CreatedById==GetCurrentLoggedInUserId())
  {
    return View(objOrder);
  }
  else
  {
    return View("NotYours");
  }
}
于 2012-04-24T22:43:58.990 回答