2011-04-04 78 views
3

我正在使用Grails 1.3.7,Grails的Spring Security Plugin和ExtJS 3.3.1。我將在我的應用程序中擁有約20個角色,並使用靜態URL規則來保護我的控制器層。我的客戶端將全部是ExtJS,因爲我剛剛開始使用ExtJS,我想在那裏與您聯繫,瞭解將訪問控制集成到ExtJS客戶端的正確方法。基本上,如何組織代碼來確定爲給定用戶顯示哪部分UI?此外,某些表單對於某些用戶可能是隻讀的。在ExtJS客戶端使用Spring Security的訪問控制?

回答

1

在我們的應用程序中,我們有一個JSON編碼的用戶對象,其中包含該用戶的角色/權利。這些內容在加載時嵌入到頁面標題中,以便它們在全局範圍內可用。

然後,有一個hasEntitlement(userObj,Entitlement)函數,用於測試我們嵌入的userObj中的特定權利。因此,頁面中的所有ExtJs操作在執行操作之前都會檢查該操作,並且所有按鈕'已禁用'的屬性都將在init中設置爲此函數調用。

當然,我們也處理使用春方法級別的安全性的UI的請求之前檢查所有這些服務器端的,所以如果有人黑客在前端的JS,他們沒有妥協的後端。