天天看點

Extjs使用 RestfulWebApi +Token驗證小結

Extjs Restful+Wpi Token

目标

1.Extjs使用Restful送出,将首頁,編輯頁的view,controller,viewModel合并為隻有一個view,controller,viewModel,大幅度減少檔案與代碼,同時減少Extjs.Ajax的通路後端的代碼

2.通過JWT 的使用,用tonken将背景的通路以标準的驗證,授權規範起來,有效保護webapi的安全(登入時傳回token,存于用戶端,用戶端通路webapi時在httpheader帶上token,webapi對token進行解碼驗證)

技術點

1.Extjs中Restful的使用

a.将Extjs Store的proxy 的type設定為'rest'

b.将Extjs Storer的writer的writeAllFields設定為true

c.新增用Store.add()

d.删除用Store.remove()

e.新增,删除,修改後統一使用 store.sync()方法送出到遠端webapi

f.在Ext GridPanel中加上window,做法:在panel的items中加入gridpanel和windowpanel

g.EXT UI的form字段驗證,在Model中加入validators,綁定字段,UI會自動加入validate,前端驗證可以使用form.isValid()

h.window編輯内容與gridpanel選中内容的同步,将window對應的viewmodel綁定到gridpanel的selection,則window的内容與gridpanel的選中内容雙向同步

2.JWT tonken的使用

a.實作基本驗證服務BaseAuthentiction Filter(取httpheader進行解碼)

b.将基本驗證服務filter注冊,使所有的通路必先經過此filter

c.實作基本授權特性BaseAuthorize Attribute,在需要授權檢查的webapi加上此特性

d.實作登入webapi,若登入成功則傳回token給調用方

e.token的生成與解碼使用jwt