【发布时间】:2016-11-25 11:35:41
【问题描述】:
我正在为客户端使用 ExtJS 创建我的第一个 webapi 项目,并尝试了解登录过程。我试图了解 SESSION 的用途,如果我使用 REST,SESSION 不应该是其中的一部分。
REST 的设计是无状态的。通过添加会话(或任何其他类型的),您将使其成为有状态的,并破坏了拥有 RESTful API 的任何目的。 RESTful 服务的整体理念是,每个资源都可以使用通用语法进行唯一寻址,以用于超媒体链接,每个 HTTP 请求本身应该携带足够的信息,以便其接收者对其进行处理,从而与 HTTP 的无状态特性完全一致。” .
我对会话有点困惑......通常,当用户登录时,sessionID 会记录在服务器上的某处?然后,当用户发出另一个请求时,url 将此 sessionID 发送回服务器,如果 ID 有效,则继续请求。 我有这个权利吗?
另一方面,请求消息基本上每次发送请求时都会发送用户名/密码。
我有这个权利吗?在我的 webapi 上使用 REST,我可以跳过 SESSION 的整个概念并继续发送用户名/密码......还是有更好的方法?
【问题讨论】:
标签: rest session asp.net-web-api