【问题标题】:Acumatica Screens in Wordpress iFrameWordpress iFrame 中的 Acumatica 屏幕
【发布时间】:2022-04-13 05:03:11
【问题描述】:

有谁知道如何将 Acumatica 屏幕嵌入到 wordpress 网站的 iFrame 中?在 wordpress 中嵌入 Acumatica 屏幕时 - 我看到登录屏幕 - 成功登录后我收到拒绝连接错误。

我尝试在 web.config 文件中修改 X-Frame - 但是登录后仍然没有区别。有谁知道需要在 Acumatica 网站上进行哪些更改才能允许这样做?或者它可能需要在 wordpress 中发生变化?

我意识到我们应该考虑集成 SSO,但在概念上会认为 iFrame 在设置或不设置 SSO 的情况下都可以工作,还是我的假设有误?

【问题讨论】:

  • 不需要 SSO,你是对的。我怀疑登录 cookie 被同站点策略阻止。

标签: wordpress acumatica


【解决方案1】:

Hugues 提供的答案非常有效,但在同一站点 Cookie 的范围内。 使用 iFrame,您通常会遇到以下异常:

设置为“SAMEORIGIN”的“X-Frame-Options”指令拒绝在框架中加载“https://yoursite.acumatica.com/Main?HideScript=On”。

有一段时间的解决方案是添加一个明确的标头 X-Frame-Options 并在 ALLOW-FROM 中指定一个 uri 到您希望允许在 iFrame 中打开 Acumatica 的站点,但是现在已经过时了:X-Frame-Options

目前建议的方法是使用 Content-Security-Policy (frame-ancestors) 的 frame-ancestors 指令

对于在 IIS 上运行的应用程序,例如 Acumatica,它是通过在 web.config 中查找来完成的

<httpProtocol>
<customHeaders>

...

并修改并添加到该子句行,如下例:

<add name="Content-Security-Policy" value="frame-ancestors 'self' https://my.site1.com *.site2.net http://localhost:82" />

这只是一个语法示例,它允许 Acumatica 在 同一域my.site1.com 上的 iFrame 中打开,all 通配符site2.net 上的子域,甚至在侦听 82 端口的服务器上的本地部署站点上。请使用最后一个 (http://localhost:82) 仅用于测试目的。

因此,您的 web.config 中的最终结果应该类似于该块(基于 SalesDemo 部署):

<httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
        <add name="Content-Security-Policy" value="frame-ancestors 'self' https://yourWordPressUri" />
      </customHeaders>
    </httpProtocol>

希望对你有所帮助

【讨论】:

    【解决方案2】:

    我相信您遇到了同站点 cookie 策略错误。如果问题是跨站点脚本错误,您将看不到登录页面。

    可以在 web 配置文件中禁用相同的站点 cookie 策略: https://docs.microsoft.com/en-us/aspnet/samesite/system-web-samesite#using-samesite-in-aspnet-472-and-48

    如下更改 web.config 文件设置:

    第 1 步:打开位于应用程序实例文件夹中的 web.config 文件。

    第 2 步:找到 部分并将以下行添加到该部分:

    注意! 标记中第一次出现的 不是必需的部分。

    第 3 步:将以粗体突出显示的文本添加到以下行:

    requireSSL="true" />

    cookieSameSite="None" cookieless="UseCookies" mode="Custom" customProvider="PXSessionStateStore" timeout="60" sessionIDManagerType="PX.Owin.SessionIdManager, PX.Owin" >

    【讨论】:

    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    相关资源
    最近更新 更多