首页 > 解决方案 > 如何使用 Angular UI 和 .net 框架 WebApi 在现有的 Set-Cookie 响应标头中附加 HttpOnly 标志

问题描述

我有一个使用 Angular 作为前端和 .net framework 4.7 C# web api 作为服务器端的应用程序。这是托管在 IIS 10 中的。现在我们的客户想要在响应标头的 Set-Cookie 中添加 HttpOnly 标志。当我在 Chrome 开发工具中检查响应标头时,我可以看到以下 cookie:

设置 Cookie:NSC_mcwt_updpnqfuf-quf_________Jou_=ffffffff09ee746d45525d5f4f58455e445a4a423660;expires=Fri, 15-Nov-2019 06:52:47 GMT;path=/;secure

现在我想在现有 cookie 中附加“HttpOnly”标志。所以我尝试使用 web.config 文件中的 Rewrite 模块添加一个 cookie,它正在创建一个带有 HttpOnly 标志的新 Set-Cookie。但我只想附加现有的 Set-Cookie 标头本身。

我是否需要更改 Web.Config 文件中的任何内容以附加 HttpOnly 标志或在角度 UI 端进行任何所需的更改?

标签: iissetcookieresponse-headershttponlycookie-httponly

解决方案


据我所知,您可以尝试修改 IIS 应用程序中的 web.config 文件,并在 IIS 中启用 HttpOnly 标志来满足您的要求。

编辑您的 Web 应用程序的 web.config 文件并添加以下内容:

<system.web>
  ...
  <httpCookies httpOnlyCookies="true" requireSSL="true" />
  ...
</system.web>

推荐阅读