Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security iframe使用哪个安全上下文加载其源页面?_Security_Sharepoint_Iframe_Credentials - Fatal编程技术网

Security iframe使用哪个安全上下文加载其源页面?

Security iframe使用哪个安全上下文加载其源页面?,security,sharepoint,iframe,credentials,Security,Sharepoint,Iframe,Credentials,我有一个sharepoint页面,其中是另一个asp.net站点的iframe (一) 我只是想知道iframe使用哪个安全上下文加载asp.net页面? *当前登录到sharepoint的用户 *当前windows标识(已登录到电脑的用户) 在我的测试中,很明显是晚一点,但不是很确定 (二) 如何设置iframe以使用sharepoint用户凭据加载asp.net页面 谢谢你的帮助 如果您正在iframe中加载某些内容,这一切都发生在客户端上,因此这相当于导航到另一个站点上的页面。除非您有某种

我有一个sharepoint页面,其中是另一个asp.net站点的iframe

(一) 我只是想知道iframe使用哪个安全上下文加载asp.net页面? *当前登录到sharepoint的用户 *当前windows标识(已登录到电脑的用户)

在我的测试中,很明显是晚一点,但不是很确定

(二) 如何设置iframe以使用sharepoint用户凭据加载asp.net页面


谢谢你的帮助

如果您正在iframe中加载某些内容,这一切都发生在客户端上,因此这相当于导航到另一个站点上的页面。除非您有某种SSO机制,否则您需要在另一个站点上再次进行身份验证。

一种方法是:

  • 从自定义sharepoint sso登录页面(您可以使用FBA或Windows身份验证)向auth web服务发出请求,该服务接受用户的用户名、哈希密码和域,并将其与userKeyToken一起存储在内存或数据库中。它验证输入参数,当输入参数有效且可以进行身份验证时,它会发回一个userKeyToken,该值是表示登录用户的加密值。它可以使用对称加密算法;不确定哪一种使用最安全

  • 客户端站点上的登录页面将此密钥存储为cookie或其会话;也许会话更好,因为它在内存中

  • iframe将此密钥作为querystring(或cookie?)发送到第二个站点,第二个站点检查userKeyToken,如果它仍然有效,则继续


  • 希望它能帮助有同样问题的人。

    我想您可能需要提供更多的信息。正在使用什么形式的身份验证(对于两个站点)。这两个站点在哪里托管(同一服务器上的不同站点?)。如果您正在Sharepoint上进行windows身份验证,并且IFRAMEd ASP.NET网站位于完全不同的外部网站上,那么您就不走运了,因为您将混合/匹配您的身份验证凭据。我将此信息留给您提供有关身份验证的建议。他们目前都在使用NTLM,但我怀疑这是正确的身份验证。不同服务器上的不同站点。即使我把两个站点放在同一台服务器上,我也不认为会有什么不同,是吗?iframe仍将使用用户的凭据而不是SharePoint凭据-如果错误,请更正我。谢谢SPDoctor。我在第二个站点上启用了SSO,但SSO读取的是windows标识,而不是sharepoint标识。那么,如何将sharepoint用户标识传递到iframe?它实际上不是这样工作的-您不能将标识传递给周围或iframe。iframe只是指示浏览器导航到另一个站点,就像您在新的浏览器窗口中打开它一样。