使用经过身份验证的 REST 请求缓存代理

2024-03-13

考虑以下场景:

  • 我有 RESTful URL /articles 返回文章列表
  • 用户在每个请求上使用授权 HTTP 标头提供其凭据
  • 根据用户的权限,文章可能因用户而异

对于这种情况,是否可以使用缓存代理(例如 Squid)? 代理将只看到 URL /articles,因此它可能返回仅对生成缓存的第一个用户有效的文章列表。其他请求 URL /articles 的用户可以看到他们无权访问的文章,这当然是不可取的。

我应该滚动自己的缓存还是可以将某些缓存代理软件配置为将其缓存基于授权 HTTP 标头?


一种尝试的可能性是使用Vary: Authorization响应头指示下游缓存通过根据请求改变缓存文档来小心缓存Authorization header.

如果您使用响应压缩,您可能已经在使用此标头。用户请求的资源一般带有headerAccept-Encoding: gzip, deflate;如果服务器配置为支持压缩,则响应可能带有标头Content-Encoding: gzip and Vary: Accept-Encoding已经。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用经过身份验证的 REST 请求缓存代理 的相关文章

  • Golang 网络爬虫 NTLM 身份验证

    Golang 网络抓取工具需要从经过 NTLM 验证的网页中提取信息 有了有效的用户名和密码 网络抓取工具如何与服务器进行 NTLM 4 次握手 以获得对后面受保护网页的访问权限 url username password http www
  • RestEasy @Path 正则表达式问题

    是否可以使用可选路径变量定义路径 就像下面的 uri app make make model model year year mileage mileage fuelType fuelType maxPrice maxprice trans
  • MVC Owin Identity 2 CheckPasswordAsync() 将不会执行

    我有两个问题似乎彼此相关 并且 stackoverflow 中的其他重复项都不能回答我的问题 First当 的时候PasswordSignInAsync方法执行它永远不会停止或抛出任何异常它只是继续执行 var result await S
  • 使用 laravel 检查活动用户状态

    这是非常标准的登录功能和验证 效果很好 但我还想检查用户是否处于活动状态 我在用户表中设置了一列 并将 活动 设置为 0 或 1 public function post login input Input all rules array
  • 使用 Cypress 绕过 UI 登录

    我在绕过 UI 登录时遇到问题 我的 Web 应用程序不使用 API 来验证用户身份 没有像这样的端点 login index php只需打开登录页面并提交表单即可登录 应用程序通过以下方式对用户进行身份验证auth REQUEST use
  • 如何在 SoapUI 中测试使用 JWT 的 REST 服务?

    我正在实施一些 REST 服务 我所有的测试都是使用 SoapUI 进行的 最近 我决定采用 JSON Web Token JWT 进行身份验证 但我在 SoapUI 上找不到对此的任何支持 本机安装或插件 什么也没有 我发现了一些在线生成
  • 在浏览器上验证 JWT

    我一直在读关于JWT https jwt io 我知道它分为三个部分 即header payload and signature 我将哈希算法保留在标头中 将基本信息保留在有效负载中例如 姓名 年龄 职务 有效期等在有效负载中 然后这两个都
  • 使用 chrome 扩展和 Django 进行身份验证

    对于那些熟悉 django 和 chrome 扩展的人 如何使用 cookie 进行身份验证 以便当您登录 django 制作的网站时 您的 chrome 扩展程序也会登录并激活 谢谢 您的 Chrome 扩展程序 通过 Javascrip
  • 使用单个查询和每用户密码盐进行用户登录

    我决定使用存储在数据库中的每用户盐来实现用户登录 盐作为密码的前缀 该密码使用 SHA 进行哈希处理并存储在数据库中 过去 当我不使用盐时 我会使用典型的方法 使用用户输入的用户名和密码来计算查询返回的行数 然而 对于每个用户的盐 您需要先
  • 如何在 REST WCF 服务中接受任意 JSON 对象?

    我想实现这样的服务方法 OperationContract WebInvoke RequestFormat WebMessageFormat Json ResponseFormat WebMessageFormat Json public
  • 按照约定应返回哪些 REST PUT/POST/DELETE 调用?

    根据 REST 意识形态 PUT POST DELETE 请求的响应正文中应该包含什么 返回码呢 是HTTP OK enough 如果有的话 这种约定的原因是什么 我发现了一篇描述 POST PUT 差异的好文章 发布与放置 http ww
  • 如何在 Asp.Net MVC 上实现客户端 Ajax 登录(Asp.Net Webforms 解决方案的链接位于此处)

    我正在尝试在 Asp Net MVC 上实现客户端 ajax 登录 我以前在 WebForms 上设置得很好 但现在我已经转向 MVC 这给我带来了一些麻烦 如果您想要有关 Asp Net Webforms 的客户端 Ajax 登录的教程
  • IdentityServer4 客户端 - 刷新 CookieAuthenticationEvents 上的访问令牌

    我试图在访问令牌过期时使用刷新令牌 类似的问题已回答here https stackoverflow com a 41557598 3501052 And 更新令牌的示例代码 https stackoverflow com question
  • WPF 和 WCF 应用程序的用户身份验证/授权的“最佳实践”是什么?

    假设我有一个 NET 富客户端 WPF 应用程序 它将同时部署在 3 个不同的场景中 客户端和服务器代码在单个进程中运行 客户端代码在 Intranet 计算机上运行 并通过 WCF 与运行应用程序 域 基础设施代码的服务器计算机进行通信
  • CakePHP 3 API 的 POST 请求不起作用

    我正在使用 CakePHP 3 x 文档开发 API 为了开发这个 API 我使用了他们的官方文档 https book cakephp org 3 0 en development rest html https book cakephp
  • 将密钥对添加到现有 EC2 实例

    我被给予AWS控制台访问正在运行 2 个实例的帐户 但我无法关闭 在生产中 但是 我想获得对这些实例的 SSH 访问权限 是否可以创建一个新的密钥对并将其应用到实例 以便我可以通过 SSH 访问 获取现有的pem当前无法选择创建实例所用的密
  • 在 WCF Web 编程模型中,如何编写具有一组查询字符串参数(即具有相同名称)的操作协定?

    使用 WCF Web 编程模型 可以指定一个操作契约 如下所示 OperationContract WebGet ResponseFormat WebMessageFormat Xml UriTemplate SomeRequest qs1
  • REST - 复杂的应用程序

    我正在努力将 RESTful 原则应用到我正在开发的新 Web 应用程序中 特别是 为了实现 RESTful 每个 HTTP 请求本身都应该携带足够的信息 以便其接收者对其进行处理 从而与 HTTP 的无状态性质完全一致 该应用程序允许用户
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return

随机推荐

  • 如何使用 sudo 执行 bash 函数?

    我尝试导出该函数 然后使用 bash 执行它 但这不起作用 export f my func sudo bash c my func bash my func command not found 如果我尝试在不使用 sudo 的情况下使用
  • 组合 2 个列表的元素

    假设我们有两个列表 val l1 List a b c val l2 List 1 2 3 我想要的是 List a1 b2 c3 即 将 l1 的第 n 个元素与 l2 的第 n 个元素相加 实现它的一种方法是 l1 zip l2 map
  • Runtime.exec().waitFor() 实际上并未等待

    我有一些使用 Runtime exec 运行外部 jar 作为 IzPack 安装程序构建 的代码 如果我从命令行运行这个 external jar 如下所示 java jar external jar 然后 在应用程序完成之前 命令提示符
  • XCode:添加构建阶段被禁用

    我想添加崩溃解决方案 https www crashlytics com我的 iOS 项目需要添加插件Run script阶段 但无论我做什么 为了添加构建阶段所有选项均被禁用 我选择目标 gt 构建阶段 我有合适的方案 我的项目运行良好
  • 操作系统如何在屏幕上绘制窗口?

    经过多年的计算机使用和编程 我意识到实际在屏幕上绘制的软件堆栈对我来说基本上是一个谜 我曾研究过一些嵌入式 LCD GUI 应用程序 我认为这为简化堆栈提供了一些线索 但对于 Windows 操作系统之类的东西的整体情况仍然模糊 据我所知
  • Spring WebClient:SSLEngine 已关闭

    我们使用 Spring boot 版本 2 3 1 也使用 WebClient 我的网络客户端配置 private val client WebClient init val sslCtx SslContextBuilder forClie
  • Octave无法安装图像采集包

    根据相关的维基页面 http wiki octave org Image acquisition package http wiki octave org Image acquisition package 安装您输入的图像采集包 pkg
  • Git 和 GitHub Desktop 是完全独立的应用程序吗?

    几个月前 我在 Windows 7 计算机上安装了适用于 Windows 的 GitHub Desktop 版本 2 8 2 x64 我使用 GitHub Desktop 在本地计算机和 GitHub 云之间管理用 LaTeX 编写的论文版
  • 如何在 networkX 图中弯曲边缘

    I had previous asked this question https stackoverflow com questions 63918432 curved edges in networkx on how to achieve
  • 在 OS X 10.5 上使用 readline 的 rl_insert_text

    因此 我尝试使用 readline 将一些默认文本填充到用户输入中 但无法使其在 OSX 10 5 上工作 rl insert text ex c gcc o rl insert text ex rl insert text ex c lr
  • PHP 5.3 之前的数组中的闭包对象

    我知道可以使用 PHP 5 3 匿名函数 执行以下操作 但是在较旧的 PHP 版本 5 3 之前 中是否有类似的替代方法 exampleArray array func gt function echo this is an example
  • SelectListItem 中的选定属性永远不起作用 (DropDownListFor)

    我在选择 DropDownList 的值时遇到问题 我一直在阅读所有类似的帖子 但找不到解决方案 实际的方法对我来说似乎非常好 因为我可以检查 SelectList 内的字段 var selectList new List
  • 我如何告诉 ProGuard 保留用于 onClick 的函数?

    我正在使用android onClick属性在我的 android 应用程序的一些 xml 布局文件中 但 ProGuard 在运行时从我的代码中删除了这些方法 因为我的代码中没有任何内容调用它们 我不想单独指定每个函数 而是想将它们命名为
  • jQuery:正确循环对象?

    我尝试使用以下代码片段循环访问下面显示的 JS 对象 同时需要获取索引键和内部对象 我到底应该怎么做 因为以下不起作用 物体 prop 1 1 2 prop 2 3 4 My code each myObject function key
  • SqlDependency onchange 事件无限循环

    我有一个简单的查询 并且事件在正确的时间触发 然而 一旦被解雇 该财产 HasChanges 的SqlDependency对象始终设置为true 第一次触发 OnChange 时 SqlNotificationEventArgs Info
  • 带有非字母数字字段名称的cosmos db sql查询

    我在 cosmosdb 中的数据结构是下一个 id oid 554f7dc4e4b03c257a33f75c 我需要对集 合进行排序 oid场地 我应该如何形成我的 sql 查询 普通查询SELECT TOP 10 FROM collect
  • 分段控件可在多个表视图之间切换

    我基本上尝试的是实现 Mailbox 中的控制段 表视图 在 2 00 左右查看 我正在其中使用 Core DataUITableViewController连接到一个UITableView 当用户切换UISegmentedControl
  • nunique 排除 pandas 中的某些值

    我正在计算每行的唯一值 但是我想排除值 0 然后计算唯一值 d col1 1 2 3 col2 3 4 0 col3 0 4 0 df pd DataFrame data d df col1 col2 col3 0 1 3 0 1 2 4
  • Lua math.random 不起作用

    所以我正在尝试创建一些东西 并且我到处寻找生成随机数的方法 然而 无论我在哪里测试代码 它都会产生非随机数 这是我写的一个例子 local lowdrops Wooden Sword Wooden Bow Ion Thruster Mach
  • 使用经过身份验证的 REST 请求缓存代理

    考虑以下场景 我有 RESTful URL articles 返回文章列表 用户在每个请求上使用授权 HTTP 标头提供其凭据 根据用户的权限 文章可能因用户而异 对于这种情况 是否可以使用缓存代理 例如 Squid 代理将只看到 URL