gpt4 book ai didi

asp.net - 寻找 RESTful API 的身份验证/模拟策略

转载 作者:行者123 更新时间:2023-12-03 21:48:56 25 4
gpt4 key购买 nike

我需要在我的 API 中允许模拟(“充当”)。因此,具有适当权限的用户可以像其他用户一样使用 API。我想知道这个领域是否采用了一些特定的策略?

我可以创建一个端点来开始和结束模拟。开始模拟可能涉及获取用户及其权限并将它们加载到当前请求的内存中,这很容易。后续请求呢?添加指示“模拟用户”的 HTTP header 是不好的做法吗?如果该 header 存在,使用它对后续请求进行身份验证?使用带有该 UserId 的 cookie 怎么样?或者附加信息?

将模拟用户分配给 Thread.CurrentPrincipal 是否有额外的好处(假设是 .NET impl)?当前的权限和角色实现是自定义的,本质上是使用一个位数组(尽管这在 future 可以更改)。

最佳答案

HTTP 不包括对委托(delegate)凭据/模拟的任何 native 支持,因此 HTTP 基本身份验证与自定义 header 的组合,该 header 指示客户端尝试充当哪个其他用户。

但是,我会避免用“开始和结束模拟”的想法污染您的 API。这意味着必须在 API 调用之间维护有状态的 session 知识,这将使得在服务器端管理起来更加困难。

我只会让客户端在每次调用时传递所有必需的信息(他们的凭据和模拟主体),并每次针对被调用的资源验证它们。

关于asp.net - 寻找 RESTful API 的身份验证/模拟策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719733/

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