【解决办法】可以考虑以下方案进行功能显隐控制:
1、获取数据库用户权限映射关系可以基于纯java代码连接数据库获取;
2、根据用户的权限情况,准备多份工作环境配置,每份工作环境根据需要配置对应的功能[图片];
3、每份工作环境中都移除“工作环境选择”功能[图片],禁止用户通过 iDesktopX 自己选择工作环境;
4、在 iDesktopX 登录用户时,根据登录的用户绑定对应的工作环境,做成用户/角色与工作环境的强绑定关系,代码如下:
//加载工作环境配置
WorkEnvironment workEnvironment = new WorkEnvironment();
workEnvironment.initWorkEnvironment(file);
//启用工作环境
Application.getActiveApplication().getWorkEnvironmentManager().setActiveWorkEnvironment(workEnvironment);
Application.getActiveApplication().reLoadFormUI();