我可以避免在我的web服务会话身份验证,而不必在每个请求验证用户名/密码



我正在使用ASP构建RESTful web服务。. NET web API。我读到过,使用会话身份验证不是很RESTful,因为在成功发出任何其他请求之前需要"登录"请求。此外,它需要客户端维护状态。

我最初的设计是让客户端使用SSL上的基本HTTP身份验证调用"登录"请求。然后,web服务将验证凭据并使用会话密钥进行响应。然后,客户端使用该会话密钥对所有后续请求进行签名。当web服务接收到这些请求中的任何一个时,它查找会话密钥,以相同的方式签名请求,并检查两个签名是否相等。

是否有可能避免这个会话身份验证而不必发送用户名/密码与每个请求?凭证验证不在web服务中进行(它被路由到维护用户的另一台服务器)。如果我需要验证每个请求,我担心性能会受到影响。

不可能。您要么存储状态,要么获取每个请求的凭据。第二个选项是你想要的HTTP API。

取决于"validate"是什么意思

例如,

可以在应用程序中缓存哈希值(用户名+密码)。在后续请求中,检查缓存条目是否仍然存在。这样可以节省到后端存储的往返。

最新更新