2012-12-02 75 views
1

我正在開發Spring MVC框架的REST JSON API。我想爲用戶提供一個HTML應用程序,並且服務器和客戶端之間的整個通信都使用JSON格式完成。所以客戶端的單個HTML應用程序使用jQuery向服務器發送AJAX調用。使用Spring Security確保jQuery對Spring MVC REST API的調用

我的大問題是找到正確的方法來集成適當的安全技術。我通過Spring Security閱讀了很多關於基本的,摘要或基於表單的認證,但我認爲這不是正確的方法。如果用戶沒有登錄,我想獲得JSON響應,並且我不想爲每個請求發送jsessionid。

能否請你告訴我正確的方式或最佳實踐如何通過執行AJAX請求進行身份驗證的用戶?也許這是OAuth 2-legged? (對OAuth沒有太多線索)

+0

具有u見過這種http://www.baeldung.com/2011/10/31/securing-a-restful-web-service-with-spring-security-3-1-部分3 /#springsec – Aalkhodiry

回答

0

如果您不想在服務器端會話中存儲auth信息(並在cookie/url中使用JSESSIONID),則可以使用BASIC auth發送每個ajax請求的auth信息頭(在JS中創建)。

我從來沒有使用模式OAuth,所以我不會對此發表評論。

編輯:錯字

+0

我當前的見解:因爲我希望能夠使用json和ios應用程序來服務我的單頁主頁,所以我需要兩種不同的身份驗證方法。基於表單的登錄,其中包含用於AJAX調用的Cookie和用於iOS應用程序的基本身份驗證(均通過HTTPS運行)。我使用Spring Security實現了身份驗證,併爲同一個控制器實現了多個請求映射。對於每個控制器都有一個(/ ajax/controlerName /和/ rest/controlername)的映射。因此,我可以爲urls/ajax/**和/ rest/**設置兩種不同的身份驗證方法。這是一個好的解決方案嗎? –

相關問題