天天看点

解决由于没有办理权限导致的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,权限不足