周六(2017-09-02)的时候,有一个菜单配置了权限,根据文档的说明,一步步的设置完成后,一直不起作用,仔细检查了很久还是不行,眼看下班了。今天周一(2017-09-04)又倒腾的一中午,然后打断点跟踪了一下权限的代码,具体还没来的急看是哪块代码出的问题,但是问题的原因已经定位出来。
由于之前在做测试,就在一级菜单“系统管理”中配置了一个二级菜单测试使用,并且配置了一个按钮权限。而后来业务菜单确定后,在业务菜单下又配置了一份相同路径(菜单地址url相同“tSMeetingController.do?list”)的二级菜单,也配置了三个按钮权限。
然后测试,业务菜单下的按钮权限一直不起作用。终于打断点找到原因:不知为何在SystemServiceImpl的public Set<String> getOperationCodesByUserIdAndFunctionId(String userId, String functionId)方法中调用的functionId变成了测试菜单的functionId,具体原因没有深入去看,然后我删除此测试菜单后,权限获取就正常了。
这应该是jeecg的一个bug,暂时没有去看具体出问题的地方,等有空的时候,再做研究,如果你也遇到类似问题,不妨试试我的方法先规避一下。
|