我现在打算用的方式是给每个用户两个令牌:
 一个读取,一个录入
当录入记录时给数据付一个权限,用户读取时把两个令牌进行比较。各位有没有好的办法?
欢迎讨论!!!
 up有分

解决方案 »

  1.   

    我做过一个比较复杂的权限系统。
    我当时的设计思路是这样的。我按照Windows的权限的一些启发。
    首先设计用户组,即组权限,每个组对数据库的不同的表进行权限控制。
    然后在组的基础上可以设置用户,用户不能离开组的控制。
    然后在每个数据库中增加了两个字段,即用户组号和ID,当用户添加数据的时候,数据库记录添加用户的组号和用户ID.
    所有的用户信息都是在数据库中使用MD5算法加密的,这样可以增加数据的安全性。
    当用户登陆系统的时候,判断用户所在的组,然后读取数据库的时候看看用户的组权限是否足够。高级组可以访问低级组的所有内容。但是不能访问必自己优先级高的组的数据。
    不知道对你有没有帮助。
      

  2.   

    建一个用户表,一个资料表,资料表里增加一个字段,记录用户ID,然后查这个ID有没有权限做此操作!
      

  3.   

    to : qingming81(晴明) 
      你的这种办法有一个局限就是你的权限级别是固定的
      不能根据客户的要求而改变
    我希望的是每个数据的权限和每个人的权限是可控的
    不知道我说明白了吗?
    就是我不想把权限写在程序里面固化
      

  4.   

    cnhgj(黄桂佳 → 吃软不吃硬) 的办法可以
    还可以对用户权限进行自定义设置,也就是修改字段值。
    字段值只有 1/0 就行了。
      

  5.   

    用户-----用户组将用户分配到用户组用户组管理权限,对数据的增、删、改权限一般都是在程序中控制用户组金碟就是这么做的!
    ---------------------------------------------
    如果数据库是SQL SERVER,可以用帐号本身对数据库的表作权限控制相关贴子:
    http://expert.csdn.net/Expert/topic/1449/1449343.xml?temp=.6710321
      

  6.   

    to :lihonggen0(李洪根,用.NET,标准答案来了)  我要实现的是纪录级的权限控制和不同用户的控制
     实际就是
        select * from 表 where 权限字段=@用户的权限
      

  7.   

    我给公司做了一个相关的dll
    和NT系统管理差不多,用户根据他所在的组的权限来分配权限,麻烦的地方就是在修改用户所在组出现一点陷阱,因为他可能在很多组里
    程序初始化分配一个管理主,一个管理员,用来建立这个表,数据全部加密
    因为是公司的东西,俺不能拿出来