\
文章目錄
- 一、問題現象
- 二、問題定位
- 三、解決方案
- 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錯誤,情有可原,對吧,那就給dept使用者配置權限呗,
三、解決方案
3.1. 登入jsite系統管理者賬号,給dept使用者配置權限
3.2. 角色管理
【系統設定】-【角色管理】-【編輯】
3.3. 找到角色授權
角色授權既然是空的,我想靜靜。看看控制台報錯資訊再定位問題吧?
四、異常解決過程
4.1. 控制台報錯資訊
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類,那就在程式中找找有這個類嗎?
4.5. 分析說明
程式我是看明白了,他想調用AreaOfficeUtils類的getOfficeList(擷取目前使用者有權限通路的部門方法),再utils包下就3個工具類,經過查找,UserUtils類中,有getOfficeList(擷取目前使用者有權限通路的部門方法),那就好辦了,類名修改一下即可,再次測試。
4.6. 再次測試校色授權,就顯示了。
4.7. 代碼改造
但是,我就不明白了,想擷取一個工具類的方法,直接調用不就行了,如果是靜态的方法,直接用類名.調用不更友善。代碼還寫了折磨多行,浪費。
代用的方法和我們預期的一樣靜态的,那就輕松+快樂了。
一行代碼就搞定了。哈哈哈!!!
4.8. 再次驗證
測試一下,好不好使,對吧
從上圖可以看出,也好使。
五、任務辦理驗證
dept使用者的辦理權限,我也配置好了,再去待辦任務菜單中,去辦理任務應該就好了,光預測也不行,測試一下保險。