日期:2014-05-20  浏览次数:20848 次

给用户授权时,角色如何与功能关联的?细化到某个按钮权限
以前做过一个是,不同的角色进入系统后,可以进入的页面不同。一个页面就对应一个权限,
然后设计了一张表,角色权限表,role_rule_key ,role_key,rule_key...
一个角色进入一个页面后就可以这个页面的所有内容。

现在的情况是,权限的概念不仅仅是这个窗体针对与某个角色,是否可以打开,
打开后,里面的按钮,等一些控件,也要根据角色的不同,有的可以使用,有的就是不可用的状态。。。


我现在有的个思路:
用户表,有个外键表:用户组表 ,用户登录系统后,根据 “用户组”,的key ,来做到,功能页面的显示多少(是否有进入的链接。。)
至于进入之后,一些控件的使用权限,当用户登录后,把角色Key保存起来,在一个窗体load前读出来,
根据key 的不同,把一些控件属性设置成不可用状态。。。(这一步若是手动if,else ,就感觉不是动态的。也不便于管理。)
   
但是我在写完角色管理程序,和功能表的管理程序后,我不是很清楚,这个功能表里面具体要写一些什么功能。。。。
难道我要写某个功能窗体里面的所有控件的是否可用吗?获取还不仅仅是这些,比如上传文件,有的可以上传1个,有的可以上传5个。
功能表:
function_key ,function_name,function_description 

我不知道怎么把角色表与功能表联系起来。。。
我在添加一个新的角色后,如何给这个角色授权。。。具体授权到某一个控件。。(这样就不需要上面的if,else ...)

想想,要是一个个授权的话,由于窗体很多,窗体里的控件也很多。。。
是不是,这个功能也应该有父子的包含关系才好。。。
把功能表改成
function_key ,function_name,function_description,function_father_key 


想了这么多,本来觉得很乱的思绪,好像有点清晰起来。
我之前没有做过,细化的控件的权限。。。
不知道,我上面的一些想法对不对,,可不可以执行。我自己也按照这个思路试着做做看



------解决方案--------------------
我以前做过这个 我是把权限控制放在配置文件中的 我当时一共是8种权限
一个ERP系统 分财务 生产部门 客户 经销商 经理 管理员 前台等等好多权限