[發(fā)明專利]一種基于ExtJS的窗口部件訪問控制方法有效
| 申請?zhí)枺?/td> | 201710566147.0 | 申請日: | 2017-07-12 |
| 公開(公告)號: | CN107450913B | 公開(公告)日: | 2020-07-31 |
| 發(fā)明(設(shè)計)人: | 周金國;金舒;董勝剛 | 申請(專利權(quán))人: | 南京國電南自維美德自動化有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 南京縱橫知識產(chǎn)權(quán)代理有限公司 32224 | 代理人: | 董建林;張賞 |
| 地址: | 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 extjs 窗口 部件 訪問 控制 方法 | ||
1.一種基于ExtJS的窗口部件訪問控制方法,其特征在于,包括以下步驟:
1)創(chuàng)建AuthPlugin插件類和AuthProxy抽象類,
所述AuthPlugin插件類可添加到任意Component類中,執(zhí)行授權(quán)評估,并對其所在Component實(shí)例的使能狀態(tài)進(jìn)行操作,所述AuthPlugin插件類通過以下函數(shù)執(zhí)行授權(quán)評估:
isLocal:指出授權(quán)操作是在本地還是遠(yuǎn)程,授權(quán)操作在本地評估即由授權(quán)代理在用戶成功登錄后將安全信息載至本地,在本地進(jìn)行權(quán)限比對;授權(quán)操作遠(yuǎn)程評估是指由授權(quán)代理將Component所需權(quán)限傳至遠(yuǎn)端,由遠(yuǎn)端進(jìn)行授權(quán)評估,再將結(jié)果回傳至前端;
relatedNS:通過配置應(yīng)用名字空間的方式為授權(quán)插件指定其所屬應(yīng)用;
neededPerms:用戶將授權(quán)插件添加至Component時,在其配置對象中通過neededPerms字段指定所需的權(quán)限;
authorized:用來儲存當(dāng)前的授權(quán)狀態(tài);
ready:用來儲存Component當(dāng)前的邏輯條件;
authProxy:授權(quán)插件通過授權(quán)代理執(zhí)行授權(quán)評估,授權(quán)插件在實(shí)例化時依據(jù)isLocal字段創(chuàng)建授權(quán)代理實(shí)例,將引用保存在authProxy字段;
init():ExtJS在Component實(shí)例化的同時實(shí)例化該Component中配置的插件類,調(diào)用插件實(shí)例的init()方法,并將Component引用作為init()方法的參數(shù)傳遞給插件實(shí)例;
destroy():用以銷毀插件實(shí)例;
authorize():用于對某個設(shè)置了授權(quán)插件的Component實(shí)例進(jìn)行授權(quán)評估;
isAuthorized():返回當(dāng)前授權(quán)狀態(tài);
setReady():通知授權(quán)插件Component實(shí)例當(dāng)前的操作邏輯條件狀態(tài);
isReady():返回當(dāng)前操作邏輯條件狀態(tài);
所述AuthProxy抽象類定義授權(quán)評估接口,所述授權(quán)評估接口通過checkPerms(perms,namespace)函數(shù)實(shí)現(xiàn),返回true或false表示授權(quán)與否,所述checkPerms(perms,namespace)函數(shù)的兩個參數(shù)分別是Component需要的權(quán)限與該Component所屬的應(yīng)用名字空間;
2)Component實(shí)例化時調(diào)用AuthPlugin插件類的init()方法,初始化授權(quán)邏輯,當(dāng)Component渲染結(jié)束時,調(diào)用AuthPlugin插件類的authorize()方法;
3)AuthPlugin插件類調(diào)用AuthProxy抽象類的checkPerms()方法,驗證授權(quán);
4)AuthProxy抽象類返回驗證結(jié)果;
5)AuthPlugin插件類根據(jù)返回的驗證結(jié)果設(shè)置Component的啟用狀態(tài)enable() /禁用狀態(tài)disable()。
2.根據(jù)權(quán)利要求1所述的一種基于ExtJS的窗口部件訪問控制方法,其特征在于,所述Component指的是Ext.Component類及其子類,在ExtJS中,任何UI類都是Ext.Component類的子類。
3.根據(jù)權(quán)利要求1所述的一種基于ExtJS的窗口部件訪問控制方法,其特征在于,通過設(shè)置Component類的“plugins”字段,將插件類添加到Component類中,所述“plugins”字段的值是單個插件類的配置對象,或者是多個插件類的配置對象數(shù)組。
4.根據(jù)權(quán)利要求1所述的一種基于ExtJS的窗口部件訪問控制方法,其特征在于,將觸發(fā)評估操作放在Component類的afterRender()方法中,該afterRender()方法由ExtJS框架在Component成功渲染到界面后調(diào)用。
5. 根據(jù)權(quán)利要求1所述的一種基于ExtJS的窗口部件訪問控制方法,其特征在于,在授權(quán)插件初始化時覆寫enable() / disable()。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京國電南自維美德自動化有限公司,未經(jīng)南京國電南自維美德自動化有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710566147.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





