天天看點

解決由于沒有辦理權限導緻的403,權限不足

\

文章目錄

  • ​​一、問題現象​​
  • ​​二、問題定位​​
  • ​​三、解決方案​​
  • ​​3.1. 登入jsite系統管理者賬号,給dept使用者配置權限​​
  • ​​3.2. 角色管理​​
  • ​​3.3. 找到角色授權​​
  • ​​四、異常解決過程​​
  • ​​4.1. 控制台報錯資訊​​
  • ​​4.2. 抽取關鍵異常資訊​​
  • ​​4.3. 定位錯誤類​​
  • ​​4.4. 分析方法​​
  • ​​4.5. 分析說明​​
  • ​​4.6. 再次測試校色授權,就顯示了。​​
  • ​​4.7. 代碼改造​​
  • ​​4.8. 再次驗證​​
  • ​​五、任務辦理驗證​​

一、問題現象

解決由于沒有辦理權限導緻的403,權限不足

二、問題定位

從頁面很明顯是沒有辦理權限,導緻403錯誤,情有可原,對吧,那就給dept使用者配置權限呗,

三、解決方案

3.1. 登入jsite系統管理者賬号,給dept使用者配置權限

解決由于沒有辦理權限導緻的403,權限不足

3.2. 角色管理

【系統設定】-【角色管理】-【編輯】

解決由于沒有辦理權限導緻的403,權限不足

3.3. 找到角色授權

解決由于沒有辦理權限導緻的403,權限不足

角色授權既然是空的,我想靜靜。看看控制台報錯資訊再定位問題吧?

四、異常解決過程

4.1. 控制台報錯資訊

解決由于沒有辦理權限導緻的403,權限不足

4.2. 抽取關鍵異常資訊

從控制台中可以看出,由2條資訊比較醒目:

java.lang.ClassNotFoundException: com.jsite.modules.sys.utils.AreaOfficeUtils      
at com.jsite.modules.sys.web.RoleController.form(RoleController.java:74)      

4.3. 定位錯誤類

異常資訊很明晰那說AreaOfficeUtils類,RoleController.java:74,既然有檔案位置,那咱們就去看看吧,

4.4. 分析方法

從以下圖中可以看出,通過反射區找 com.jsite.modules.sys.utils.AreaOfficeUtils類,那就在程式中找找有這個類嗎?

解決由于沒有辦理權限導緻的403,權限不足

4.5. 分析說明

程式我是看明白了,他想調用AreaOfficeUtils類的getOfficeList(擷取目前使用者有權限通路的部門方法),再utils包下就3個工具類,經過查找,UserUtils類中,有getOfficeList(擷取目前使用者有權限通路的部門方法),那就好辦了,類名修改一下即可,再次測試。

解決由于沒有辦理權限導緻的403,權限不足

4.6. 再次測試校色授權,就顯示了。

解決由于沒有辦理權限導緻的403,權限不足

4.7. 代碼改造

但是,我就不明白了,想擷取一個工具類的方法,直接調用不就行了,如果是靜态的方法,直接用類名.調用不更友善。代碼還寫了折磨多行,浪費。

代用的方法和我們預期的一樣靜态的,那就輕松+快樂了。

解決由于沒有辦理權限導緻的403,權限不足
解決由于沒有辦理權限導緻的403,權限不足

一行代碼就搞定了。哈哈哈!!!

4.8. 再次驗證

測試一下,好不好使,對吧

解決由于沒有辦理權限導緻的403,權限不足

從上圖可以看出,也好使。

五、任務辦理驗證

dept使用者的辦理權限,我也配置好了,再去待辦任務菜單中,去辦理任務應該就好了,光預測也不行,測試一下保險。

解決由于沒有辦理權限導緻的403,權限不足
解決由于沒有辦理權限導緻的403,權限不足