ant design pro v2 關於用戶登錄有多個權限的解決方法


  ant design pro V2菜單欄顯示流程, 用戶輸入用戶名,密碼,登錄調用登錄接口,校驗后返回該用戶的權限字段currentAuthority,然后通過調用setAuthority(currentAuthority)函數來設置該用戶的菜單欄權限,(setAuthority函數位於src/utils/authorty.js中),setAuthority函數將權限字段放在緩存中,登錄后與菜單欄路由文件中的authorty字段比對。源程序針對登錄返回的currentAuthority字段為單個權限字段,如果需要多個權限,則不能返回正確的比對字段,所以需要修改源程序。

  首先setAuthority(currentAuthority)函數傳入的多個權限字段的格式為字符串,中間用逗號隔開,如”user,admin“,然后修改src/utils/authorty.js中的setAuthority函數,在判斷authority是否為字符串之前,先對傳入的參數authority進行一個判斷,判斷authority中的‘,’個數是否大於零,如果大於0,說明有多個權限,調用split()函數將字符串分割成字符串數組,否則保持原樣。這樣authority字段就會變成權限數組,用戶將擁有多個權限。

  src/models/login.js代碼如圖所示。

  

 

  src/utils/authorty.js中etAuthority()函數如圖所示

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM