问一些关于mysql访问权限的问题
我要做一个程序,有不同的用户和权限,不同用户有不同的数据,如何实现用户能够访问和修改不同的数据?例如有A用户,只能访问A的数据,B用户能够访问A和B的数据。当然,这个用户并不是mysql的用户,而是我的程序的用户,设置了用户表和数据表,如何关联两张表,实现不同用户的访问级别不同?

解决方案 »

  1.   

    mysql不懂。不过给个思路,通用的,就是创建多个视图,设定某些某类用户调用某类视图,然后逻辑和权限都可以用视图封装好
      

  2.   

    假设一个人力系统。总经理可以查看所有数据。但是一般的部门经理只能查看本部门的数据,这时候就要创建两个视图,部门视图就是有某些where条件的。或者你可以建立一个权限表,用存储过程来实现,传入某个人的参数,然后获得他的级别,再对应在where中筛选这个级别能看到的数据。这些完全可以在SQLServer里面做,不一定要放到C#里面
      

  3.   

    我的意思是不同用户的计算数据是在张表内的。
    例如
    ID  面积  压力  分析的用户
    1    1    1     A
    2    2    2     B 
    ID  面积  压力  分析的用户 是四个字段,数据有很多,那我必须把每条记录都加上分析的用户这个字段吗?
      

  4.   

    11楼:可以考虑一下:创建一个对应的关系表,表3列,一个是自增的ID,作为表的主键,第二列是存有数据表的对应的ID,第三列是用户表中的用户ID,建议这个表只存ID。运算时候比较快。
    10楼:如果你懂得用存储过程,就没必要用视图咯。视图多用于控制权限,就想我上面说的总经理和部门经历的例子,部门经理看到的数据不应该太多,这些可以先写好sql语句,然后放到对应的视图中,select * from对应视图即可。