所以我很高兴自己构建了一个月的ASP.Net MVC 4应用程序。我有安全模型,用户可以登录并将安全信息存储在用户会话中以用于后续页面请求。一切都很好。然后我实现了一些ajax调用以获取页面中的其他数据。我这样做是通过调用Web API接口来实现的。在Web API调用中,我尝试访问Session并且低,并且看到Session为null。现在我认为Web API应该是“无状态的”。应该传入web api调用的所有参数。但是如果其中一些参数是敏感的并且在进行ajax调用时无法从客户端传递出来呢?
我已经了解了在WebAPI中访问会话的黑客攻击。我宁愿不这样做,也违反了web api的租户。 ? 那么你是否将这些信息存储在数据库中并在web api调用中将其拉出来?看起来像PITA那样做。 那么在进行web api ajax调用时如何才能保证某些参数的安全呢? 或者你是否分解并只是访问会话?
答案 0 :(得分:0)
每个服务调用都可以接受用户ID。
Web API控制器方法使用用户ID进行进一步的数据查找,例如查找敏感的订单详细信息。
答案 1 :(得分:0)
我这样做的方式是继承基类,这个基类有以下几种:
public string UserName
{
get
{
return User.Identity.Name;
}
}
WebAPI可以看到此UserName,每个UserName都是唯一的,因此您可以根据此变量进行用户查找。
如果您想要向WebAPI发送任何进一步的数据,那么您将不得不向Controller发送一个ID,并根据UserName对其进行验证,以确定他们是否可以访问它。
...的伪
我想要一份政策!
客户端