朱文杰 发表于 2017-9-4 11:28:35

数据权限配置后不起作用

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

朱文杰 发表于 2017-9-4 11:35:44

找到了,在AuthInterceptor的131-135行,直接根据functionUrl匹配一下,取了第0号的菜单。。。List<TSFunction> functions = systemService.findByProperty(TSFunction.class, "functionUrl", realRequestPath);

                                if (functions.size()>0){
                                        functionId = functions.get(0).getId();
                                }

long 发表于 2017-9-4 11:37:35

我也遇到了类似的问题,主要是,针对想对系统管理菜单下组织机构权限进行进一步的权限约束,比如有一个次级的管理员可以进行权限操作但仅限于自己的项目,结果设置后不起作用.

朱文杰 发表于 2017-9-4 15:25:43

long 发表于 2017-9-4 11:37 static/image/common/back.gif
我也遇到了类似的问题,主要是,针对想对系统管理菜单下组织机构权限进行进一步的权限约束,比如有一个次级的 ...

可以将Controler中的请求方法copy一份,另起个名,然后配置菜单的url不要重复,就能暂时规避这种问题。

long 发表于 2017-9-4 15:50:39

ok,多谢
页: [1]
查看完整版本: 数据权限配置后不起作用