在.NET Framework和.Net Core之间共享身份验证cookie

2024-07-01

我想共享 ASP.NET Framework 应用程序提供的身份验证 cookie 并在 ASP.NET Core 应用程序中使用它。为了加密 cookie,我使用数据保护,这是 .NET Core 中的默认设置,并且需要 .NET Framework 包 Microsoft.AspNetCore.DataProtection.SystemWeb。

当 .NET Core 生成并保护 cookie 时,身份验证适用于 .NET Core 应用程序。当 .NET Framework 生成并保护 cookie 时,.NET Core 应用程序不会使用它。

根据https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/compatibility/replacing-machinekey?view=aspnetcore-3.1 https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/compatibility/replacing-machinekey?view=aspnetcore-3.1正确保护的 cookie 应以“CfDJ8”开头,它是神奇的“09 F0 C9 F0”标头的 Base64 表示形式,用于标识受数据保护系统保护的有效负载。 .NET Core 生成的 cookie 以“CfDJ8”开头,但 .NET Framework 生成的 cookie 以“09F0C9F0”开头。 看起来 cookie 已正确生成并受到保护,但 .NET Core 使用 base64 来编码 cookie,而 .NET Framework 使用十六进制字符串。

问题是,如何为 ASP.NET Core Data Protection 加密的身份验证 cookie 设置通用 cookie 编码?


我按照此处的指南在 .NET Framework Webforms 应用程序和较新的 aspnetcore 5 应用程序之间共享 cookie。

https://learn.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-5.0 https://learn.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-5.0

就我而言,Webforms 应用程序验证并发出 cookie。我看到 cookie 已生成并正确设置,加密的标头文本表明数据保护系统已生效(请参见下面的屏幕截图)。

Webforms 应用程序工作正常,但是 aspnetcore 应用程序不使用此 cookie!任何具有 [Authorize] 属性的操作都会返回到登录页面。是否还需要在 aspnet core 方面完成任何其他操作才能使其正常工作?

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

在.NET Framework和.Net Core之间共享身份验证cookie 的相关文章

随机推荐

  • facebook javascript SDK:FB.Canvas.setAutoResize iFrame 不起作用?

    我们使用 ruby rails 和 facebooker iframe 应用程序 构建了一个 facebook 应用程序 目前仍使用 FB Canvas setAutoResize 这在某些情况下似乎会失败 使用 facebook 开发人员
  • 如何允许我的网站嵌入 iframe 中?

    我有一个托管在外部服务器上的网站 我希望能够从本地开发环境 localhost 运行它 在 iframe 内 不幸的是 当我尝试使用 iframe 加载页面时 我在框架内容中收到 此内容无法在框架中显示 消息 我该如何解决这个问题 使用 i
  • CPU指令重排序的踪迹

    我研究了一些有关处理器指令重新排序和 Tomasulo 算法的内容 为了进一步了解这个主题 我想知道是否有任何方法可以 获取跟踪 查看给定程序完成的实际动态重新排序 我想给出一个输入程序并查看我的程序的 乱序指令执行跟踪 我可以使用 IBM
  • 使用 document.createElement 创建的元素是否保留在内存中?

    你好 我正在慢慢制作一个chrome扩展 我需要解析一些包含html实体的数据 并且我需要对其进行解码 我在这里的一个答案中看到我可以使用document createElement为此 我这样做了 htmlDecode function
  • CSS - 百分比还是像素?

    我已经使用CSS很多年了 而且我一直是一个 百分比 类型的人 因为我总是使用百分比而不是像素来定义高度和宽度 除了 例如 当设置诸如边距之类的东西时 填充等 在这种情况下我使用像素 我会做这样的事情 body height 99 width
  • delphi中如何直接从内存中执行代码?

    是否可以模仿loadlibrary功能 我想从 BLOB 字段加载库 而不先将其写入临时文件 并且我需要一个不依赖于特定版本的 delphi 编译器或 Windows 的解决方案 并且不会触发防病毒软件 是的 你可以 但你不需要loadli
  • 配置 ASP.NET 在 x64 Windows 上使用 x86

    我正在尝试部署GAL 修饰符 http galmod codeplex com 这是一个在 Windows 2003 x64 计算机上使用 Microsoft Access 的 ASP NET 网站 然而 x64 上没有 JET 驱动程序
  • 我的应用程序二进制文件在 Xcode 中的哪里提交?

    我已经为 App Store 前 iTunes 商店 构建了一个应用程序 但是 我不知道如何提交应用程序 我需要提交到 App Store 的实际二进制文件在哪里 它内置在哪个文件夹中 您可以使用 XCode 并在左侧展开 产品 突出显示您
  • 仅当用户下拉表格时显示搜索栏

    我有一个表格视图 上面有一个搜索栏 我的要求是当有人打开页面时不显示搜索栏 但当有人向下滑动表格时搜索栏应该可见 在你的控制器中viewDidAppear 方法 设置表视图的 contentOffset 属性 在 UIScrollView
  • 如何让WebStorm解析模块是函数?

    WebStorm 在解析从 CommonJS 模块作为方法返回的函数 并读取与它们关联的 JsDoc 方面做得非常好 例如 utils valid js Returns true no matter what param HTMLEleme
  • Python Pandas - 如果某些值为空则合并行

    我有一个看起来有点像这样的数据集 ID Name Address Zip Cost 1 Bob the Builder 123 Main St 12345 1 Bob the Builder 99 999 99 2 Bob the Buil
  • 在 WCF 中支持 Mtom 和 Text 作为 MessageEncoding

    我有一个 WCF 服务 它有一个具有以下签名的方法 object GetCommand Guid apiKey SocialService service string name object argument 它使用对象作为返回类型和最后
  • gdb不会执行二进制操作

    我有以下代码 include
  • 如何设置 Android 动态壁纸图标(又名“缩略图”)

    我构建了我的第一个 Android 应用程序 它是专为2 2设计的动态壁纸 当我按住屏幕时 选择Wallpapers然后选择Live Wallpapers 我的动态壁纸看起来像默认图标 上面覆盖了我的动态壁纸的名称 如何设置这个图标 我的清
  • Visual Studio 2013(更新 3)中的默认移动构造函数

    过去我已经找到了有关此问题的多个对话 例如here https stackoverflow com questions 4819936 why no default move assignment move constructor 但这样的
  • 如何使用 docker-compose 链接两个容器

    目前我有两个容器 我从图像构建然后链接这两个容器 例如 mysql docker build t my mysql docker mysql docker run p 3306 3306 name mysql d my mysql late
  • 如何在angularjs表达式中将字符串转换为数字或日期

    我正在使用 angularjs 来制作分页类型的东西 假设我有一个 2D 数组 并且我正在显示其中的值 它工作正常 但我也希望能够编辑这些值 所以我在输入标记中使用了 ng hide 它工作正常 但问题是 如果输入类型是数字或日期 而我的数
  • Moq:对依赖 HttpContext 的方法进行单元测试

    考虑 NET 程序集中的一个方法 public static string GetSecurityContextUserName extract the username from request string sUser HttpCont
  • 执行通过 AJAX 加载的 Javascript [重复]

    这个问题在这里已经有答案了 可能的重复 如何执行动态加载的 JavaScript 块 https stackoverflow com questions 75943 how do you execute a dynamically load
  • 在.NET Framework和.Net Core之间共享身份验证cookie

    我想共享 ASP NET Framework 应用程序提供的身份验证 cookie 并在 ASP NET Core 应用程序中使用它 为了加密 cookie 我使用数据保护 这是 NET Core 中的默认设置 并且需要 NET Frame