使用随机会话号保护Web API

时间:2018-10-14 16:04:18

标签: ajax asp.net-mvc rest asp.net-web-api

我正在MVC中制作一个Web API / Rest API,其中每个API都采用一个称为user_session的参数

因此,当用户登录时,我会生成一个10位数的会话,并将其传递回用户,该用户需要作为任何后续API调用的输入。

这是我典型的代码:

$.ajax({
   url: '@Url.Action("GetUserDetail", "myapi")',
         type: "GET",
        data: { UserID: '@user.user_id', SessionID: '@user_session' },
        dataType: "json",
        success: function (response) {
        }
})

我的问题是,这是正确的方法还是有更好的方法呢?安全吗?

1 个答案:

答案 0 :(得分:0)

您可以很好地使用HTTP Cookies来记住会话,而不是手动将其作为每个请求的参数传递。

我将在这个主题上做非常简短的解释。

  1. 服务器在用户登录时设置cookie。
  2. 此cookie被定义为HTTP cookie,将被发送到所有api调用。
  3. 服务器可以使用请求标头中的cookie值来验证或了解会话。