是否可以在Windows窗体中“沙盒化”IE?
假设我在Windows窗体中有一个webbrowsercontrol,用户从表单登录到一个安全的站点。 如果用户单独打开IE,它也会显示它们已登录。是否可以隔离Windows窗体的IE实例?
WebBrowser控件构建在WebBrowser ActiveX之上,后者位于WinInet之上。 因此,您应该能够通过WinInet API影响其行为。
您可以尝试调用InternetSetOption
WinInet API来设置INTERNET_OPTION_END_BROWSER_SESSION
选项以结束当前会话并启动新会话。 要确保调用仅影响当前进程,请使用INTERNET_HANDLE_TYPE_INTERNET
句柄。
你没有提到你的版本; 行为从IE7更改为IE8。
在IE7和IE6中,您可以打开多个窗口并在一个站点上使用不同的用户ID进行身份validation。
在IE8中,您的会话状态在浏览器会话中共享。
您可以在隐私模式下打开IE; 这应该允许会话沙箱。
IE8具有命令行开关-nomerge
,它使用新会话启动浏览器
当您登录某个站点时,通常会从服务器上获取一个cookie,标记您已“登录”(非常简单……)。 我的猜测是删除cookie。 看这里:
如何从windows.form中删除Cookies?