6 回答

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
先說一下對權(quán)限的看法:
前端要做的是,不讓正常操作的用戶發(fā)出不具有權(quán)限的api. 后端要做的是, 在接到權(quán)限用戶不匹配的請求不做數(shù)據(jù)操作并返回某些格式的數(shù)據(jù)(來使前端判斷并提示).
那么前端關(guān)于權(quán)限的事情只有2件:
第一類別, 隱藏不具權(quán)限的操作按鈕 或 點(diǎn)擊不具權(quán)限的按鈕后不發(fā)請求直接提示 再或者根據(jù)當(dāng)前用戶擁有的權(quán)限來加載數(shù)據(jù).
第二類別, 配合后端對權(quán)限的驗(yàn)證來進(jìn)行登錄過程或每次請求帶上某些驗(yàn)證.
說一種做法:
因?yàn)楦杏X你碰到的問題是第一類別, 在用戶登錄以后儲(chǔ)存一份用戶的權(quán)限數(shù)據(jù)(這份數(shù)據(jù)可以自己判斷也可以向后端請求).類似: {admin: true}
. 或者{lookup: true, operate: false}
. 或者是具有哪些權(quán)限: ['lookup', 'operate', 'create', 'delete', 'modify']
. 然后在涉及到權(quán)限的界面根據(jù)這份數(shù)據(jù)進(jìn)行判斷, 或是發(fā)涉及權(quán)限的請求前對這份數(shù)據(jù)進(jìn)行判斷.

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
1.如果是admin的話,前臺(tái)直接判斷控制,允許其擁有所有路由和操作權(quán)限,不需要通過后臺(tái)
2.如果不是admin,需要前臺(tái)和后臺(tái)配合,前臺(tái)擁有一個(gè)權(quán)限分配的頁面(這個(gè)頁面可以是admin操作的),后臺(tái)收集值之后,前臺(tái)其他用戶登錄的時(shí)候,可以獲取其相關(guān)的權(quán)限
添加回答
舉報(bào)