Ruby on rails 为什么我的Rails登录在iframe中运行时无法通过身份验证?

Ruby on rails 为什么我的Rails登录在iframe中运行时无法通过身份验证?,ruby-on-rails,iframe,login,integration,Ruby On Rails,Iframe,Login,Integration,我正在尝试使用“iframe”技术将我的Rails应用程序集成到另一个应用程序中 托管应用程序的iframe如下所示: <iframe src="http://10.0.0.106:3000/" width="800" height="500"> </iframe> 此框架检索并显示登录页面,这是正常的。但当我输入用户名和密码登录时,似乎身份验证失败,并再次提示我登录。请注意,不会出现正常的“错误用户名/密码”消息(当我给出错误的用户名/密码时就是这样)。登录表单将

我正在尝试使用“iframe”技术将我的Rails应用程序集成到另一个应用程序中

托管应用程序的iframe如下所示:

<iframe src="http://10.0.0.106:3000/" width="800" height="500">
</iframe>

此框架检索并显示登录页面,这是正常的。但当我输入用户名和密码登录时,似乎身份验证失败,并再次提示我登录。请注意,不会出现正常的“错误用户名/密码”消息(当我给出错误的用户名/密码时就是这样)。登录表单将显示为我第一次访问它


有什么线索吗?

iframe是从另一个域提供的吗?这可能是一个安全特性

您可以关闭安全功能(可能是个坏主意),或者尝试其他身份验证方法


“是的。它是从另一个域提供的。” -以上评论


您没有收到错误消息的原因是身份验证没有失败。存储的cookie是针对“10.0.0.106:3000”的,而不是您当前的应用程序。我不会使用iframe来处理身份验证。(你为什么要这么做?

如果页面上包含CSRF令牌,那么使用iframes时你应该遇到的唯一问题就是IE的怪异性:


Rails 3?确保在iframe内容的某个地方有
csrf\u meta\u标记。我把它放在我的登录布局和主(其他页面)布局中。是的。它是从另一个域提供的。你说我可以关闭安全功能是什么意思。怎么做的?问题是,如果我不关闭安全功能,使用iframe技术进行集成是否可行?我的客户有一个CRM应用程序,他们希望我的应用程序(我们称之为“X”)在现有CRM web应用程序中显示为选项卡。他们过去在其他应用程序中使用的一种方法是使用iframe,它工作正常(尽管它不需要身份验证)应用程序需要身份验证。问题是:这是否可行?我是否可以在CRM应用程序中使用类似于我在上面问题中使用的iframe并解决登录问题?或者我是否必须找到另一种方法来验证试图从CRM中使用我的“X”应用程序的用户?我遇到了同样的问题,但是上面的链接断了。有人帮忙吗?这是怎么回事?