方法一:从职位(角色)的角度出发,指定职位拥有那些操作权限。给定用户一个职位,当用户登录的时候通过Session存储该职位所具有的操作权限。当用户执行操作时,逻辑层通过遍历判断用户是否具有这个操作的权限,若为空则显示警告信息。
第一种:每行存储一个操作权限
优点:存储方便
缺点:读取困难、执行效率低
第二种:一行显示所有的所作权限,通过0和1来标识是否具有该操作的权限
优点:读取方便、执行效率高
缺点:存储困难、弹性差
方法二:从权限的角度出发,指定用户拥有那些操作权限。当用户登录的时候通过Session存储该职位所具有的操作权限。当用户执行操作时,逻辑层通过遍历判断用户是否具有这个操作的权限,若为空则显示警告信息。
第一种:每行存储一个操作权限
优点:存储方便
缺点:读取困难、执行效率低
第二种:一行显示所有的所作权限,通过0和1来标识是否具有该操作的权限
优点:读取方便、执行效率高
缺点:存储困难、弹性差
改进方法:从权限等级的角度出发,权限等级为1~10,越高权限越大。超级管理员为每个模块下的每个功能设定相应的权限等级。在设置职员的职位时,指定该职位的权限等级,并为每个模块每个功能设定相应的权限等级。
优点:开发方便、读取方便、执行效率高
缺点:对刚上手的用户操作和理解上不友好、需要额外的页面