日期:2014-05-17  浏览次数:20607 次

系统的权限控制
提问如下:我想实现登录时,拥有不同权限的管理员看到的左边的菜单不同,权限用一个字符串100000000这样的一个字符串表示,第一位为1表示有全部权限,其他位“1”表示有该项操作权限,“0”表示木有,左边的菜单树是Jquery的zTree搞的,就像这样:
var zNodes = [
        { id:3, pId:0, name:"后台管理", open:true},
{ id:31, pId:3, name:"新闻管理",icon:"/itanyEportal/images/icon_news.gif",open:true},
        { id:311, pId:31, name:"新闻栏目管理", icon:"/itanyEportal/images/icon_column.gif","url":"browseColumns.html", "target":"mainFrame"},
{ id:312, pId:31, name:"新闻管理",icon:"/itanyEportal/images/icon_news.gif", "url":"browseNews.html", "target":"mainFrame"},
       ......
          ]
我想了个笨办法;就是根据获得的权限字符串,创建不同的zNodes,不过有好多情况,搞不起来...,好心人指导下我吧,感激不尽(精神上)。
jquery 权限

------解决方案--------------------
权限管理已经有了很多例子了,一般是用五张表,user用户表,role角色表,resc资源表相互独立,它们通过各自之间的连接表实现多对多关系。
参考spring权限管理
http://wenku.baidu.com/view/00db7e02eff9aef8941e06f5.html
------解决方案--------------------
你这ajax请求的,也只能在后台处理了。你可以在栏目表里面加上一个字段,标记此栏目需要什么样的权限,然后查找出来的时候就可以匹配用户权限。

或者这样,你先遍历用户拥有的权限,然后再根据权限查找出栏目。因为你已经在栏目表里面加上了权限标记符


------解决方案--------------------
难道你的zNodes是在前台生成的?

你在后台根据权限字符串生成zNodes的JSON串,然后传到前台就行了
------解决方案--------------------
你可以参照我写的,也是用Ztree实现的权限树
http://blog.csdn.net/sky_too/article/details/8014672

希望能帮到你
------解决方案--------------------
可以去学习下rbac~