这个问题太大了,复杂~~
你最好全文搜索一下,csdn上有好多这方面讨论的帖子,慢慢看吧,呵呵

解决方案 »

  1.   

    简单的权限控制可以采用三个表
    功能表(就是要控制的所有功能)
    用户表(用户信息)
    权限表(对功能表和用户表结合)
    如果要更好一点的话
    在功能表设计时可采用树型,同样在权限分配时也可以管理员分配权限给下级管理员,下级管理员在分配权限(但权限是自己所具有的)......
    复杂一些的权限可以在CSDN的文档中有一篇介绍权限的
      

  2.   

    建议:
    1.用户分4级--程序级(系统参数,配置等操作,这个可以不要),
                 系统级(应用系统的总管理员应用参数的配置,系统维护等,模块级管理员的权限管理),
                 模块级(模块内的管理,控制,给普通用户授权..),
                 普通用户(具体应用)
    2.权限分3级--功能(一般意思是指命令按钮,菜单项等..)
                 模块(是多个窗体,多个功能的集合)
                 角色(N个模块或功能的集合,或者说实现某或某及个业务的个业务的功能模块的集合)按照这样的体系结构系统的按钮等控件 菜单项,窗体,等要控制操作者使用的都要先注册到数据库表(这些都是系统的功能)
    给用户分配权限时可以直接授予各项功能权限,也可以先配置好模块权限,再授予用户,或再配置好角色,直接给各种用户.一般的表结构:
    用户表(uid,name,level,...)
    系统功能表(功能id,name,class,...)--class 是指按钮或菜单等...类型
    模块表(模块id,功能id)
    角色表(角色id,功能or模块,模块或功能id)
    用户权限表(uid,角色or功能or模块类别,角色or功能or模块id)我也没直接设计过权限管理,但这几年参与的项目有几个比较好的权限管理的MIS,过段时间我也要做这部分设计,上边给的建议比较粗糙......
      

  3.   

    我曾经看见过一个比较典型的,你看看是否合适
    CREATE TABLE 功能 (
    id int IDENTITY (1, 1),
    功能名称 nvarchar (50),
    parentid int
    )
    GOCREATE TABLE 用户 (
    id int IDENTITY (1, 1) NOT NULL,
    用户名 nvarchar (50),
    密码 nvarchar (50),
    修改日期 datetime,
    起始日期 datetime
    )
    GOCREATE TABLE 权限 (
    id int IDENTITY (1, 1) NOT NULL,
    用户ID int,
    功能id int,
    操作权限 varchar(20),
    )
    GO--数据
    --软件的功能分类
    insert into 功能
    select '产品销售',0
    union all select '电器',1
    union all select '食品类',1
    union all select '日常用品',1
    union all select '家电',2
    union all select '电脑',2--用户
    insert into 用户
    select '张三',null,getdate(),getdate()
    union all select '李四',null,getdate(),getdate()--权限分配,假设每个功能都有这样的权限设置:1.新增/2.修改/3.删除/4.打印
    insert into 权限
    select 1,2,power(2,1)+power(2,2)+power(2,4)  --张三具有电器类的1.新增/2.修改/4.打印的功能
    union
    select 1,4,power(2,1)+power(2,2) --张三具有日常用品类的1.新增/2.修改的功能
    union
    select 2,1,power(2,1)+power(2,2)+power(2,3)+power(2,4)  --李四具有所有权限select * from 功能
    select * from 用户
    select * from 权限
      

  4.   

     & learning 
    sofa