假设用户已登录远程系统,因此他有一个与其用户名相关联的会话以及对其私人数据的访问权限。现在有一个Silverlight应用程序,它尝试通过HttpWebRequest
(ClientHttp堆栈)与服务器通信。有没有办法将用户会话传递给Silverlight应用程序?以某种方式与浏览器共享cookie?
更新:
网络和SO上都有代码段,它们展示了如何通过WebBrowser
将WebRequest
控件中的HttpOnly Cookie转移到InternetGetCookieEx
(例如Use a WebBrowser to login into a site that use HttpOnly cookie)。我还不了解的两件事是 - 如果这可以在浏览器Silverlight应用程序中使用,并且如果cookie可以类似地从运行silverlight应用程序的浏览器转移到silverlight应用程序本身?
答案 0 :(得分:1)
您无法访问表单身份验证cookie或ASP.NET会话cookie,因为这些cookie是仅会话cookie(使用HttpOnly标志发出),这意味着客户端脚本无法访问它们。如果要实现这一点,您可以让服务器将cookie的值显式传递给SL应用程序作为生成标记中的参数。