建立一套完整的软件系统,最开始需要建立权限控制系统。
本人java开发3年多,一直是在混日志,应付工作。最近开始思考软件开发方面的一些问题,今天浅浅的谈一下系统权限控制,经验不足, 算是抛砖引玉,关于系统权限控制方面有更通用更实用的解决方案,请各位评论,指教。下面进入正题:
先介绍一下概念:
用户:使用系统的操作人;
角色:用户拥有角色,然后来体现用户的权限,角色就是一系列权限的集合;
菜单:指的是系统使用人可以看得见的是实在的模块,一般系统有一级菜单,二级菜单;
权限:权限是隶属于菜单的,每个菜单下至少有一个权限(查看权限),当用户拥有的角色包含某个菜单的查看权限之后,用户才能看到这个菜单。其实菜单一般还有其他权限, 比如新增权限,修改权限,删除权限等等。
从上面的概念可以看出,用户拥有某个角色之后,角色里面包含了一系列的权限,那么这些权限就是用户所能看到的菜单以及能操作的功能。要实现对用户的权限控制,就需要通过这些权限实现对菜单展现与隐藏。当有权限时,菜单以及功能就显示。比如有菜单的查看权限,那么菜单就可见,如果有新增权限,新增按钮就hide=false;这样系统就实现了对人员权限的控制。
系统权限控制分文两部分:
1.功能权限控制
2.数据权限控制
功能权限控制: