gpt4 book ai didi

.net - 如何在 Internet Explorer 和网页中托管的 ActiveX 组件之间共享 session cookie?

转载 作者:行者123 更新时间:2023-12-04 21:26:35 25 4
gpt4 key购买 nike

我目前正在开发一个 .Net 应用程序,它向托管在 IIS 服务器上的某些 Web 应用程序发出 HTTP 请求。该应用程序是通过 ClickOnce 部署的,并且在简单的网络架构上运行良好。
我们的一个客户有一个非常复杂的网络,其中包含一个自定义身份验证服务器,用户必须首先登录自己才能进行身份验证并访问该网络上的其他应用程序。在此服务器上通过身份验证后,将创建 session cookie 并将其发送给用户。每次用户在网络的安全服务器上发出请求时,都会检查此 cookie 以授予用户访问权限。如果此 cookie 未随请求一起发送,则用户将被重定向到登录页面。唯一使用的浏览器是 Internet Explorer。
无法从我们的 .net 应用程序访问此 cookie,因为它在另一个进程中执行,而不是用于登录用户的 Internet Explorer 进程,因此不会与我们的请求一起发送,因为服务器重定向每个我们对登录页面的请求。
我通过使主控件 COM 可见并在带有标记的 HTML 页面上创建它来将我的应用程序嵌入到 Internet Explorer 中。它工作正常,但是当 ActiveX 控件发出 Web 请求时,不会发送之前在浏览器中设置的 session cookie。
我希望 session 信息的这种共享是自动的(尽管我并不真正相信)。所以我的问题是:是否可以在嵌入式 ActiveX 中访问此 cookie?如何?使用 .Net COM-interop 组件而不是“真正的”ActiveX 控件有什么不同吗?此外,是否有特定的安全词来描述这种行为(鉴于我根本不是安全主题的专家,缺乏适当的术语使得找到所需的资源变得更加困难)?

我的目标是让我的应用程序的请求看起来与主机浏览器请求发出的请求相同,我认为将应用程序作为 ActiveX 控件嵌入到浏览器中是实现这一目标的唯一方法,但是任何建议都可以这是受欢迎的。

最佳答案

我发现实现此目的的一种方法是让 ActiveX 组件嵌入 Internet Explorer 组件(WebBrowser 对象),并使用它来执行我的 http 请求,而不是标准类对象。通过这样做,在 Internet Explorer 中设置的 session cookie(甚至是 http-only 的)可用于嵌入式 Internet Explorer,并随每个请求自动发送。

关于.net - 如何在 Internet Explorer 和网页中托管的 ActiveX 组件之间共享 session cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2447341/

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