|
|
|
|
如何限制用户只看到指定角色对应的菜单 发布时间:2007-08-14 18:08:09 作者:cservice 出处: 语言:中文 阅读次数:948次 |
| 【适用范围】
部署了开源组织机构(FBFRAME)的EOS系统
【问题描述】
用户A有角色1和角色2,角色1能看到菜单x,角色2能看到菜单y,那么用户A登陆之后,同时看到菜单x和y。现在我在逻辑fbrole.bizopr.initSessionEntity中限制了用户A只取角色1,但是登陆后还是能看到菜单x和y。 但是,我只取了A的角色1进行登陆,也只想看到角色1对应的菜单x,而不是菜单x和y,该怎么处理?
【解决方案】
在业务逻辑中做限制是没有用的,真正取菜单的代码在:com.primeton.eos.fbframe.fbrole.security.impl.DAOUtility的方法getMyMenu,里面有一个sql语句 :
String sql = "select distinct c.menuLevel, c.displayOrder, c.menuID, c.isLeaf, c.parentsID, c.menuLabel, c.menuAction, c.inputValue, c.inputKey from EOSOperatorRole a, EOSRoleMenu b, EOSMenu c, EOSOperator d where d.userID=? and a.roleID = b.roleID and b.menuID=c.menuID and a.operatorID=d.operatorID order by menuLevel, displayOrder";
只有改SQL才行 |
|
| 声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。 |
|