加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Devise正在登录到不同的路线

发布时间:2020-12-16 20:00:55 所属栏目:百科 来源:网络整理
导读:我有一个非常奇怪的问题与Devise.我设置了一个路由,接受get和post请求.在一个get,它显示表单,在帖子,它提交它. 当我发个帖子XHR的路线,当它到达那里它告诉我,我没有登陆,并给我发送401未授权.之后,我必须登录,然后我可以再试一次. 我一直在试图弄清楚这一点
我有一个非常奇怪的问题与Devise.我设置了一个路由,接受get和post请求.在一个get,它显示表单,在帖子,它提交它.

当我发个帖子XHR的路线,当它到达那里它告诉我,我没有登陆,并给我发送401未授权.之后,我必须登录,然后我可以再试一次.

我一直在试图弄清楚这一点了几个小时,所有的我已经能够搞清楚的是,我的控制器方法是没有得到调用.我把我自己的自定义过滤器AUTH之前,它只是证实了我的Rails应用程序被调用时,用户不再登录.

此外,如果我打开表单,但不提交,我可以继续正常.在那个XHR的某个地方,它正在使设计成功地记录我.

如果您有任何想法请帮忙,我不知道现在发生了什么事情

谢谢

斯科特

编辑:添加相关代码段

的routes.rb

match 'projects/:p/filebox' => 'projects#show',:via => ["get","post"],:as => 'project_filebox'

projects_controller.rb

before_filter :authenticate_user! # <--- By the time this gets called,the user is logged out
def show
# ^^^^ Doesnt get called. Logger shows that it recognized route though
logger.debug "-----------projects#show"
logger.debug "Current user logged in:"+user_signed_in?.to_s

正在提交的表单

<form class="upload" action="<%= project_filebox_path(@project) %>?n=7&cType=<%= cType %>&fid=<%= fid %>" method="post" enctype="multipart/form-data">
    <input type="file" name="file" multiple/>
    <button>Upload</button>
    <div>Add / Drag Files To Upload</div>
</form>

正在上传XHR的Javascript

formDataUpload = function (files,xhr,settings) {
            var formData = new FormData(),i;
            $.each(getFormData(settings),function (index,field) {
                formData.append(field.name,field.value);
            });
            for (i = 0; i < files.length; i += 1) {
                formData.append(settings.fieldName,files[i]);
            }
            xhr.send(formData);
        }

如果我错过了一些相关代码让我知道

解决方法

除了JS之外,这里还没有太多的东西,但是由于没有将CSRF令牌设置为请求的一部分,因此您遇到了一个很大的变化.这在各种Rails 3.0.x版本中已经改变,所以很难知道没有代码.

一个简单的测试将是关闭CSRF(例如从ProtectController中删除protect_from_forgery).如果它有效,你有答案,需要确保令牌被传递,否则处理伪造的保护.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读