【问题标题】:send browser cookie to Web service将浏览器 cookie 发送到 Web 服务
【发布时间】:2010-02-13 23:05:23
【问题描述】:

我有以下架构:

1) 客户端登录到 ASP.NET 网站 (www.site.com),其中会话在 3000 分钟后过期并且 cookieless 设置为 false。

2) 一段时间后,客户端在浏览器中打开 Activex。 Activex 通过 .NET 托管类连接到启用会话的 Web 服务 (www.site.com/Service.asmx)。

我需要做的是发送浏览器在通过网站进行身份验证时收到的 cookie。如果此类 cookie 不存在,则用户未通过身份验证,并且将禁止连接到 Web 服务。

我知道我需要使用 System.Net.CookieContainer 类,但是如何将这个 broser cookie 设置为这个类?

            localhost.WebService1 web = new localhost.WebService1();
        System.Net.CookieContainer cookie = new System.Net.CookieContainer();
        web.CookieContainer = cookie;

让我进入全新的会话。

请帮忙。

最好的问候, 丹尼。

【问题讨论】:

    标签: asp.net web-services authentication cookies


    【解决方案1】:

    ActiveX 控件是一个完全独立的进程,每次都会创建自己的会话。尽管它使用与容器相同的浏览器,但它基本上就像运行一个单独的应用程序来连接到 web 服务。为了解决这个问题,一个想法是将某种时间敏感的密钥/Guid 传递给 ActviceX 控件(通过 javascript 发送到 ActiveX 控件)这个密钥(保存在数据库中,由页面创建)可以传递到WebService 和验证?

    【讨论】:

    • 嗨,马克,谢谢你的回复,你是对的。这个完全独立的过程。不过看看 YouTube。当您嵌入 youtube 控件并想观看私人电影时,您将无法播放它,直到您使用 google/youtube 帐户登录,并且肯定 youtube 插件和浏览器是不同的进程。所以这正是我想要实现的目标。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 2019-08-19
    • 2014-04-09
    • 1970-01-01
    • 2020-06-30
    • 2013-11-19
    相关资源
    最近更新 更多