2016-06-28 91 views
0

我使用dropwizard編寫了一些其他Web服務。然後我用dropwizard-shiro bundle來保護我的資源,這在this問題中已經描述過了。我也使用了Swagger UI來測試我的資源。在swagger UI中一切正常。我編寫了一個消費這些服務的PHP Web應用程序。在php應用程序中有一個登錄頁面,它調用了我的登錄服務。登錄成功,但在嘗試通過php應用程序訪問某些其他資源時,會出現「未經授權的訪問」錯誤。爲什麼我得到這個錯誤?是否因爲創建的會話過期?Dropwizard-Shiro:登錄後即使未經授權訪問

回答

0

我有同樣的問題:在我登錄並嘗試訪問其他jax-rs資源後,isAuthenticated()返回false。在我的場景中,它是一個帶有AXIOS的ReactJS客戶端來執行請求。

我如何修復它(這是錯了前端):我看到了,我沒有做的XMLHttpRequest與AXIOS ,因爲ChromeConsole我可以看到該Cookie未發送跨源服務器( HTTP標頭:集餅乾,餅乾等)

然後我用$就

xhrFields: { 
    withCredentials: true 
}, 

做到了,一切正常。顯然,Shiro將Jsessionid從HTTP-only-cookie中抽取出來。並沒有明確的錯誤信息說明爲什麼它不起作用。希望我能以某種方式幫助你:-)

相關問題