SSH系统 权限控制
我现在用SSH做一个团购系统,现在对权限进行控制,我现在的想法是这样的:
将所有的菜单都做个标记放到数据库中,当用户进行访问的时候就从数据库中查出用户是否有访问这些菜单的权利,有就把菜单显示出来,没有就不显示,不知道这样的想法可不可以,所有的菜单都做标记放到数据库中,可不可取?有没有更好的办法?
[最优解释]
如果数据量比较大就更要这么做了,毕竟启动应用的时候没有人用系统,时间长一点也没什么,要是换作登陆时根据用户的权限查询,一来,效率很成问题,你让用户等个2-3秒还没什么,等个10多秒,谁还用你的系统?二来,如果并发量也比较大,和数据库的交互显然要频繁得多,有可能导致服务器压力过大,对正在做操作的用户也会造成影响。何况修改菜单的操作不会很频繁,就算是并发数比较大,可以选择夜间没什么业务量的时段修改,修改后同时将应用范围中的数据更新也不是件麻烦事儿
[其他解释]
我们公司就是这样做的,分为:菜单,角色,用户
先为把菜单定义好放在数据库中
可以动态为角色分配菜单
然后可以动态给用户赋予角色
[其他解释]
同意楼上的菜单、角色、用户,菜单还可以分几级菜单控制来设计,都可以放到数据库中
[其他解释]
同意楼上的菜单、角色、用户,菜单还可以分几级菜单控制来设计,都可以放到数据库中
[其他解释]
lz意思是不是说,用户只能看到自己有权限的菜单,如果没有此权限,就看不到对应菜单?
这样挺好的,也是很大众化的做法
但有时候,比如A用户本来有删除权限的,后来不给他删除权限了,但他已经记住执行删除时的url路径了,那么他还可以直接用路径访问,虽然这个不太可能发生,但预防一下还是没坏处的,在增加个权限拦截器吧,每次进入控制器层时验证一下
[其他解释]