gpt4 book ai didi

security - RESTful 身份验证作为一种状态形式

转载 作者:行者123 更新时间:2023-12-04 22:51:08 25 4
gpt4 key购买 nike

它的 不可能 无需状态即可进行身份验证。那么在设计带有身份验证的 RESTful 软件时,我们是否会为了安全而妥协这种架构?这能走多远?只要努力构建更安全的系统,您就可以存储任何数量的状态吗?

Representation State Transfer or REST拥有多项核心设计理念。最重要的一项是 REST 必须是无状态的或引用 Wikipeida:

"... A client in a rest state is able to interact with its user, but creates no load and consumes no per-client storage on the servers or on the network."



但是,根据定义,用户名和密码是客户端独有的状态,可能会发生变化。此外,客户端可以具有已通过身份验证的状态,否则他们将具有有限的访问权限或没有访问权限。

最佳答案

RESTful 系统有两种类型的状态。客户端应用程序状态和资源状态。资源状态的重要之处在于它应该有一个标识符,比如 URL。

通过 URL 访问资源状态应该返回相同的信息,无论谁访问它(假设有足够的授权)。

服务器 session 状态把事情搞砸了,因为人们使用它会根据请求资源的人来改变响应的内容。这使得书签更加棘手,共享网址更加困难,缓存更加困难。

不幸的是,维基百科的引用过于宽泛,容易被误解。对我来说,最简单的思考方式是服务器不应该知道客户端的当前状态。

对客户端进行身份验证不需要您在客户端通过身份验证后保留有关客户端的信息。所需要做的就是在下一个请求中再次进行身份验证。

关于security - RESTful 身份验证作为一种状态形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com