我正在使用新推薦的應用程序結構在Ext JS 4上開發Web應用程序。因此我需要實施一個認證系統&。到目前爲止的想法:ExtJS 4應用程序登錄和身份驗證和權利
- 服務器負責確保用戶的角色和權利。
- ExtJS的前端有根據權限和角色
- 我用卡的佈局改變。第一個標籤是登錄屏幕,第二應用
- 在我的控制器我檢查,如果用戶登錄,如果他有一個有效的身份我如果沒有切換到標籤2.他拋出回選項卡1.
我現在的問題是,我不確定部件2和第4部分?你將如何實現這兩個?
我正在使用新推薦的應用程序結構在Ext JS 4上開發Web應用程序。因此我需要實施一個認證系統&。到目前爲止的想法:ExtJS 4應用程序登錄和身份驗證和權利
我現在的問題是,我不確定部件2和第4部分?你將如何實現這兩個?
Ext.StoreManager.get('ConfigOptionStore').loadData(/* config data returned from server */);
使用beforeRender
事件將組件添加到您的當前視圖(控制器做到這一點),就像這樣:
init: function() {
this.control({
'myPanel': {
beforerender: function(cmp, eOpts){
//place the store in a var for easy access
var myConfigStore = Ext.StoreManager.get('ActiveUserStore').getAt(0);
//from here you can use add() to add stuff like so:
if (myConfigStore.get('hasMyButton')) {
cmp.add({
xtype: 'button',
text: 'My Button',
action: 'doSomething'
});
}
//etc...
}
});
}
確保在任何給定的時間,在更新第一用當前的配置選項記錄商店(當你登錄loadData
時,只加載一條記錄)。
這應該讓你在正確的方向開始。只要確保使用唯一最基本的組件創建初始視圖,然後根據用戶的配置添加自定義組件。
你可以從服務器根據用戶ID發送唯一的用戶「配置」的文件,所以每一個用戶都有自己的配置設置,他希望的方式,也可以使用StateManager來保存用戶配置後發生了改變。這樣前端會根據權限和角色而改變。對於部分4.我沒有看到任何問題,如果你決定去與卡片佈局...
setActiveTab(String/Number/Ext.Component card)
編輯:
您可以使用getState();從Ext.AbstractComponent以檢索了「狀態「,並保存,所以在下一次加載時,此狀態將被初始化。這不取決於Cookie或本地存儲,因此它不會過期。在完成自定義視圖後,您可以讓用戶有機會保存狀態。
Thx,好主意。我只是在創建視口之前在應用程序啓動時將json加載到var中。考慮到mvc結構,我在構造上的tbar中構建按鈕,但隱藏選項hidden:true; – Manuel