一、前言
為海寧等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及海寧網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、海寧網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!在廣告機(jī)項(xiàng)目中,角色的權(quán)限管理是卡了挺久的一個(gè)難點(diǎn)。首先我們確定的權(quán)限控制分為兩大部分,其中根據(jù)粒的大小分的更細(xì):
權(quán)限控制是什么
在權(quán)限的世界里服務(wù)端提供的一切都是資源,資源可以由請(qǐng)求方法+請(qǐng)求地址來描述,權(quán)限是對(duì)特定資源的訪問許可,所謂權(quán)限控制,也就是確保用戶只能訪問到被分配的資源。具體的說,前端對(duì)資源的訪問通常是由界面上的按鈕發(fā)起,比如刪除某條數(shù)據(jù);或由用戶進(jìn)入某一個(gè)頁面發(fā)起,比如獲取某個(gè)列表數(shù)據(jù)。這兩種形式覆蓋了資源請(qǐng)求的大部分場景,因此權(quán)限控制也可以被籠統(tǒng)的分成菜單權(quán)限控制和按鈕權(quán)限控制。
下面我們就看一看是如何實(shí)現(xiàn)這些個(gè)權(quán)限控制的。
二、接口訪問的權(quán)限控制
接口權(quán)限就是對(duì)用戶的校驗(yàn)。正常來說,在用戶登錄時(shí)服務(wù)器需要給前臺(tái)返回一個(gè)Token,然后在以后前臺(tái)每次調(diào)用接口時(shí)都需要帶上這個(gè)Token,
然后服務(wù)端獲取到這個(gè)Token后進(jìn)行比對(duì),如果通過則可以訪問。
現(xiàn)有的做法是在登錄成功的回調(diào)中將后臺(tái)返回的Token直接存儲(chǔ)到sessionStorage
,然在請(qǐng)求時(shí)將Token取出放入headers中傳給后臺(tái),代碼如下:
this.$http({ method: 'get', url: 'test/query?id=20', withCredentials: true, headers: { token: sessionStorage.getItem('token'), name: sessionStorage.getItem('name') //應(yīng)后臺(tái)需求傳的用戶名 } }).then(response => { //請(qǐng)求成功后的操作 })