我正在使用 ASP.NET Web API 构建一个 RESTful Web 服务。我读到使用会话身份验证不是很 RESTful,因为在成功发出任何其他请求之前需要“登录”请求。此外,它还需要客户端维护状态。
我最初的设计是让客户端使用基于 SSL 的基本 HTTP 身份验证调用“登录”请求。然后,Web 服务将验证凭据并使用会话密钥进行响应。然后,客户端使用该会话密钥对所有后续请求进行签名。当 Web 服务收到任何这些请求时,它会查找会话密钥,以相同的方式对请求进行签名,并检查两个签名是否相等。
是否可以避免此会话身份验证而不必在每个请求中发送用户名/密码?凭证验证不会发生在 Web 服务中(它被路由到另一个维护用户的服务器)。我担心如果我需要验证每个请求,性能会受到影响。