2010-10-19 52 views
0

我正嘗試使用Java Applet將文件上傳到我的Rails應用程序。不過,我不斷收到以下錯誤,我想不通爲什麼:Rails:提供令牌時出現InvalidAuthenticityToken

處理CategoriesController#upload_image(用於127.0.0.1在2010-10-18 20點32分54秒)[POST] 參數:{ 「partitionIndex」=>「0」,「fileId」=>「8278320」,「lastModified」=>「2010-09-18T14:31:12.610-0500」,「fileLength」=>「18571」,「fileName」= > 「dreamstime_1038438.jpg.zip」, 「partitionCount」=> 「1」, 「authenticity_token」=> 「NHX938BYOQr/B4t1pb4pTMlgEFumfveXGxtROSChJpk =」, 「文件」=>#}

的ActionController :: InvalidAuthenticityToken(ActionController的:: InvalidAuthenticityToken ): :10:在synchronize' C:/Ruby/lib/ruby/1.9.1/webrick/httpserver.rb:111:in服務' C:/Ruby/lib/ruby/1.9.1/webrick/httpser ver.rb:70:in run' C:/Ruby/lib/ruby/1.9.1/webrick/server.rb:183:in block in start_thread'

如上所示,我包含了參數authenticity_token。 authenticity_token參數由form_authenticity_token()生成。在同一頁面中有一個表單,authenticity_token完全相同。任何想法,我在這裏忽略?

回答

0

真實性標記用於防止CSRF攻擊(更多信息請見:Understanding the Rails Authenticity Token)。
也許你的applet沒有維護它的會話?並且每個請求都作爲單獨的會話發送?這會導致你面臨的錯誤發生。

+0

不保持會話可能是問題所在。 java applet將如何加入與包含它的頁面相同的會話? – Stephan 2010-10-19 13:31:38

+0

我非常抱歉,但我不知道。嘗試詢問一個單獨的問題,並將其標記爲java小程序Q. – Faisal 2010-10-19 13:39:59

+0

謝謝,您對會話是正確的。我可以通過傳遞會話ID作爲參數來複制頁面會話。 – Stephan 2010-10-19 14:54:10

相關問題