2
我有GWT應用程序,我想用spring security來保護它。我有我的自定義彈出窗口,其中基於UI Binder的登錄形式被放置。我想使用RPC方法將憑證發送到服務器,然後根據數據庫對用戶進行身份驗證。那可能嗎?使用自定義登錄對話框的GWT和Spring安全集成
我有GWT應用程序,我想用spring security來保護它。我有我的自定義彈出窗口,其中基於UI Binder的登錄形式被放置。我想使用RPC方法將憑證發送到服務器,然後根據數據庫對用戶進行身份驗證。那可能嗎?使用自定義登錄對話框的GWT和Spring安全集成
是的,這是可能的,但你必須考慮,GWT應用程序被編譯成javascript並作爲整個包發送到客戶端。因此,不能使用SI來限制不從服務器檢索數據的'靜態'位置,因爲所有信息從一開始就在客戶端可用。但是,所有請求工廠服務(或您使用的其他協議)都可以使用Spring Security進行保護。如果您使用要求在工廠,你必須做兩件事情:
j_spring_security_check
端點允許用戶進行身份驗證和服務水平添加適當的SI註釋(如果它需要認證/授權設置)createRequestCallback(RequestTransport.TransportReceiver receiver)
方法爲了能夠處理403/401服務器響應。j_spring_security_check
的登錄頁面。您可以輕鬆使用GWT RequestBuilder來做到這一點。就是這樣!
編輯: 當然,春天必須知道你正在保護的服務(必須存在於其容器內)。
因此,如果我理解的很好,我必須將憑據發送到/ appName/j_spring_security_check URL並使用@Secured註釋來保護RPC調用? – Peter 2012-03-04 21:00:05
對!因此,訪問受限的所有信息必須存儲在服務器端並通過服務公開 - 您無法在JavaScript中「硬編碼」它。 – 2012-03-04 21:13:14