负责对信息系统操作员的权限集中管理。包括操作员管理、功能管理、角色管理。操作员管理负责对信息系统的操作员进行统一管理、分配控制,通过灵活增加操作员及其权限角色,可以非常方便的进行系统维护。功能管理及角色管理是附加于操作员的属性,通过功能及角色的设定、分配来限制、分配不同的操作员权限,达到功能层次上的系统安全级别。

解决方案 »

  1.   

    楼主可以设置二张表,一个表存放权限名称,另一张表存放用户所具有的权限,用户进行登录时先到用户权限表查看一下,如果有就显示出来,没有就不显示出来,很简单的,我的表结构如下
    权限模块表
    CREATE TABLE [dbo].[tab_role] (
    [id] [int] IDENTITY (1, 1) NOT NULL ,//ID号,自动增加
    [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,//权限名称
    [url] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,//权限对应的url
    [parent_id] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,//父节点名称,0为根节点
    [order1] [int] NULL //排序位置
    ) ON [PRIMARY]
    GO
    用户权限表,
    CREATE TABLE [dbo].[tab_user_role] (
    [id2] [int] IDENTITY (1, 1) NOT NULL ,//ID号,自动增加
    [userid] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,//用户ID
    [mainmenuid] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,//tab_role表的id
    [order1] [int] NULL //排序位置
    ) ON [PRIMARY]
    GO
      

  2.   

    还是用操作系统和数据库系统本身的security管理更安全。
      

  3.   

    我的作法是:一个字段 Power(varchar(100))
    内容为:111111101010101000000.
    1为可以操作,0为禁用
    当用户进行某个操作时检测当前用户的Power,mid(power,12,1)  12为当前这个操作在所有操作中的位置如果当前的位置是1,表明有权限 ,否则禁止
      

  4.   

    liujiayu10(大宇) 的方法是比较好的方法
      

  5.   

    人员表:{人员id,人员姓名,..,权限id}--主表
    权限表:{权限id,权限描述,权限}--从表
    权限:[TTTTTTTFFFFFFFF]:有多少个功能权限,就设几个
    在mainfrm中一载入的时候就判断,让菜单可读,不可读。
      

  6.   

    权限的东东很烦的。
    参考下面:
    http://blog.csdn.net/adandelion/articles/466648.aspx
    http://blog.csdn.net/adandelion/articles/464574.aspx
    http://blog.csdn.net/adandelion/articles/464573.aspx
    http://blog.csdn.net/adandelion/articles/464570.aspx
    另外我觉得楼主要把问题简单化,这样做的话好一些。也不要那么认真,有没有经验先保住饭碗重要,
    只要能让主管看得过去就行。
    估计你的主管不怎么样。。
      

  7.   

    w6f3y0(王易) 的方法忙好的,楼方主不妨一试
      

  8.   

    http://www.52life.cn/jyk/archive/2005/08/31/230.life
    可以看看这里。功能模块表字段名  类型  大小  说明
    FunctionID  int  4  主键,自增
    title  nvarchar  20  模块名称
    orderID  int  4  序号,由小到大排序
    其他略  记录项目的模块(功能),也就是网页了。模块名称就是节点上的文字,比如:人员管理、录入凭证、部门管理。可以用这个表生成“树”,或是类似的东东。用户表字段名  类型  大小  说明
    UserID  int  4  主键,自增
    UserCode  nvarchar  20  登录帐号
    UserPwd  int  4  登录密码
    其他略  记录用户信息以上的这两个表,没有什么,相信大家也都是这么用的。下面的这个就比较重要了。权限表字段名  类型  大小  说明
    PowerID  int  4  主键,自增
    FunctionID  int  4  模块ID
    UserID  int  4  用户ID
    Power  char  6  权限1.模块和用户是多对多的关系2.权限用“111000”的字符串表示,第一位:添加;第二位:修改;第三位:删除;第四位:绝对删除;第五位:审核;第六位:打印。1:有权限;0:没有权限3.含义A.一个模块,可以有哪些用户访问B.一个用户,可以访问哪些模块C.一个用户进到了一个模块里,有哪些具体的权限。通过Power("111000"),来判断D.可以只显示当前登录用户有权限的节点。
      

  9.   

    首先明白操作员和角色的隶属关系,最多五个界面就搞定了,一个用户和角色的隶属关系(两个界面),一个权限表,(一个界面),可以有增加用户、角色的界面。数据表有operator,group,usergroupinfo,rightset,分别存放用户信息、角色信息、用户角色信息、权限信息。
      

  10.   

    权限看看ntfs的安全管理,概念都一样。有空多学习一下,这次能保住下次出个再难一点的就困难了。
      

  11.   

    http://www.369sky.com/ShowPost/332/default.aspx 这里有一篇文章写的很不错,你去看看就差不多明白了
      

  12.   

    adandelion(猪头)   介绍的文章值得一看
      

  13.   

    我的做法是一个表搞掂.字段分别是用户名(text),密码(text),权限(integer),权限的值为1 - 10,在页面上判断权限必须大于几来决定是否显示或转向.如:用session("power")记录着权限字段的值,就是if session("power")<8 then ............
      

  14.   

    就是,楼主可以做一个防windows的权限功能,又不是很困难。