Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.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
Ruby on rails 铁路3&x2B;OpenID==mmmm;铁路3&x2B;JQGrid==mmm;铁路3&x2B;OpenID+;JQGrid==BZZZT_Ruby On Rails_Jqgrid_Openid_Ruby Openid - Fatal编程技术网

Ruby on rails 铁路3&x2B;OpenID==mmmm;铁路3&x2B;JQGrid==mmm;铁路3&x2B;OpenID+;JQGrid==BZZZT

Ruby on rails 铁路3&x2B;OpenID==mmmm;铁路3&x2B;JQGrid==mmm;铁路3&x2B;OpenID+;JQGrid==BZZZT,ruby-on-rails,jqgrid,openid,ruby-openid,Ruby On Rails,Jqgrid,Openid,Ruby Openid,尝试使用——实际上,特别是——Rails 3应用程序。我正在使用ruby openid与Google进行身份验证,并用于使其正常工作 它是这样做的——用于网页浏览和来自web表单的帖子 但是,每当JQGrid发布更新服务器上的数据时,都会发生两件事: 即使用户的浏览器已经通过登录Google进行了身份验证,帖子在服务器上也会显示为来自未经验证的帖子,并被重定向到OpenID身份验证舞蹈。除了那件事,那不会是一件难事 一旦服务器发回401,它应该启动重定向和身份验证,整个enchilada就停止了

尝试使用——实际上,特别是——Rails 3应用程序。我正在使用ruby openid与Google进行身份验证,并用于使其正常工作

它是这样做的——用于网页浏览和来自web表单的帖子

但是,每当JQGrid发布更新服务器上的数据时,都会发生两件事:

  • 即使用户的浏览器已经通过登录Google进行了身份验证,帖子在服务器上也会显示为来自未经验证的帖子,并被重定向到OpenID身份验证舞蹈。除了那件事,那不会是一件难事

  • 一旦服务器发回401,它应该启动重定向和身份验证,整个enchilada就停止了。通常情况下(比如,在表单提交的POST请求中),浏览器会看到401,读取随附的“authenticate over here”信息,跳起舞,返回会话设置,然后循环继续。但从JQuery/JQGrid……就不多了

  • 有什么想法吗?我相信我在这里遗漏了一些明显的东西,但我有拉姆斯菲尔德的一个“未知的未知数”,我不知道我遗漏了什么,更不用说如何修复它了!看来这应该是一个长期解决的问题,嗯

    我可能会与XSS防御发生冲突,但如果是这样的话,我不知道该如何继续,除了**-扼杀我们在OpenID上已经做出的重大投资(包括已经注册的用户&必须提供/记住密码——哎哟!)

    提前感谢各位专家同事


    (Rails 3.0.7、ruby openid 2.1.8、JQGrid 3.5.3、JQuery 1.3.2,使用Google作为OP,这样用户就不必输入他们的身份URL。)

    好的,进一步的测试确认这是一个总结,女士们先生们

    当然,接下来我必须弄清楚如何让Javascript与protect_一起工作,以防_伪造,但事实证明这非常简单,您只需获取真实性令牌并将其包含在所有Ajax请求中,如中所述。非常灵活,因为这项技术自动将令牌构建到所有内容中,所以您不必查找所有POST请求

    奥列格,谢谢你的帮助。我会接受你的建议


    也要感谢邮件列表中的Sante,他给了我指向protect_from_fagery header内容的指针。

    首先,您应该开始使用jQuery和jqGrid的最新版本。此外,最好包括所使用的HTTP头的更多技术细节,并更清楚地指出您希望在数据更新时发送哪些附加头。是的,您无疑是正确的。如果我遗漏了一些显而易见的东西,我不想在标题细节上做一个大的转储。事实上,我可能——看起来好像“保护你不被伪造”,在所有事情中,可能是罪魁祸首。当我进一步调查的时候会更多。