從JBoss 4升級到JBoss 5後,我注意到了最令人討厭的迴歸。它截斷了base64 cookie值的尾部等號('=')。JBoss 5截斷了base64 cookie字符串的尾部
花了我很多時間才明白,問題不是我的代碼,但JBoss',我GOOGLE了它,發現它是一個已知的issue。
建議的解決方法是計算字符串長度並用拖尾等號(長度爲4的長度)填充它。由於我們的應用程序可以在多個應用程序服務器(例如WebLogic,WebSpehere)上運行,所以我非常不願意爲這個版本的JBoss添加這段代碼。
有沒有人遇到過這個?你能提出一個更智能的解決方法嗎?
編輯:感謝@skaffman我明白我的問題,我不應該首先使用base64作爲cookie字符串。在基礎64上有一個名爲base64 url的變體,應該用於這樣的字符串(cookie,url ...)。例如,庫的Apache編解碼器在其基本的64實現中支持這個變體。
哦,我不知道這些東西......作爲一個事事實上,我確實可以控制Cookie的創建,因此我會按照您的建議檢查其他格式。謝謝。 – LiorH 2009-11-08 20:11:35