1:导航菜单的权限控制
登录用户的角色分为 管理员,GCP中心,省级中心,国家认证中心,国家药监局
不同的角色等级对应不同的权限控制方法
例如 国家药监局可以看到的菜单有:依托单位基本情况 人员基本信息 部门信息 论文发表情况 基地人员培训情况 药物临床试验情况 药物临床试验情况--(gcp添加) 知情书情况 检察人员监督情况 统计报表。
实现关键组件
1:接口MenuMemo
定义了菜单和菜单项的常量字符串表示 例如:
//依托单位基本情况view
public static final String YTDWJBQK="101";
直接暴漏在程序里的字符串,不易维护,将这些字符串值用public static final的声明形式保存在一个文件中,如果要使用变量,只需要统一使用MenuMemo.QCRYJDQK_OPER即可,一种好的设计方法。
2: CheckPrivate类
showMenu方法,根据传进来的代表菜单的字符串,在可以显示的菜单的字符串列表中进行匹配,如果有相等的,显示出来。
2:模块编辑页面命令按钮的权限控制
showButton方法,根据登录用户的角色等级,返回boolean类型,在页面上根据这个boolean进行判断。