加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 06:22:39 所属栏目:asp.Net 来源:网络整理
导读:我有一个要求允许在我的API中进行模拟(“充当”).因此,具有相应权限的用户可以将API作为另一个用户进行操作.我想知道这个领域是否采用了一些具体的策略? 我可以创建一个端点来开始和结束模拟.开始模拟可能涉及获取用户及其权限并将其加载到内存中以获取当前
我有一个要求允许在我的API中进行模拟(“充当”).因此,具有相应权限的用户可以将API作为另一个用户进行操作.我想知道这个领域是否采用了一些具体的策略?

我可以创建一个端点来开始和结束模拟.开始模拟可能涉及获取用户及其权限并将其加载到内存中以获取当前请求,这很容易.后续请求呢?添加指示“模拟用户”的HTTP标头是不好的做法吗?如果该标头存在,请使用它来对后续请求进行授权?如何在UserId中使用cookie?还是其他信息?

是否有额外的好处(假设.NET impl)将模拟用户分配给Thread.CurrentPrincipal?当前的权限和角色实现是自定义的,实际上是使用位数组(尽管将来会在表中进行更改).

解决方法

HTTP不包含对委托凭据/模拟的任何本机支持,因此HTTP基本身份验证与自定义标头的组合指示客户端尝试使用哪个其他用户就可以了.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读