正如他所说, 只有1,2个用户, 便不需要用role了. 但对较大的数据库, 使用role
可减少不少的管理问题.

解决方案 »

  1.   

    to Yang_(扬帆破浪)
    例如一个bbs系统,包括三类用户:
    1.普通用户
    2.斑竹
    3.管理员
    每个用户有不同的权限吗?你说角色还如何设置,权限还如何分配?
    难道分三个角色吗?
      

  2.   

    角色是权限的集合,如果你有多个数据库用户就会用的着了,
    象oracle中的connect,resource都是角色
      

  3.   

    bluepower2008(蓝色力量)说的有道理
      

  4.   

    回复人: lanying(蓝鹰.net) (  ) 信誉:90  2002-06-11 20:05:00  得分:0  
     
     
      to Yang_(扬帆破浪)
    例如一个bbs系统,包括三类用户:
    1.普通用户
    2.斑竹
    3.管理员
    每个用户有不同的权限吗?你说角色还如何设置,权限还如何分配?
    难道分三个角色吗? 
    回复如下:
       首先,不好意思,这几天虽然都在网上,但没有仔细看,刚看到这个回复。
       就拿CSDN来说吧,至少可以分两个角色,普通用户(包括斑竹)和管理员,斑竹只是特殊的普通用户,因为斑竹是只在一个版有特殊权限。但对CSDN这么多的用户,而且还需要保存用户的资料,可能并不会对每个登录帐号加一个数据库用户,而是共用一个用户,这样斑竹的特殊性只能用程序来解决。
       但是不能抹杀角色的作用,至少分开了用户和管理员,用户永远不会有管理员的权限,而且作为美达美公司,他的管理员可能会经常增减,但不必每增加一个人要授权一次。
      

  5.   

    我觉的大家好象混淆了概念,把数据库管理系统本身的ACL和应用程序的用户权限混为一谈了。
      

  6.   

    看来,很多人把应用程序中的用户同数据库中的用户等同了现在举一个例子讨论。例子是瞎编的,不可对号入座us1是DBA 他可以对数据库完全控制,可以建、删表和数据。
    建立一个数据库role叫 APPUSERS。可以读和修改登陆信息表。
    建立一个查看帐户的role叫 BRWS-CRDT 他可以读帐户上的金额。现在有一个应用程序。先可以用一个很低权限的用户U2连接到数据库。
    只属于APPUSERS,只能读登陆信息表。用户再输入用户名,密码。
    应用程序可以读登陆信息表中的信息,设置应用程序的权限配置。同时以U3对数据库登陆。他属于BRWS-CRDT ,就可以通过应用程序浏览帐户了如果应用程序与数据库使用相同的帐户。或应用程序连接的用户数据库权限过高。
    他就有可能不通过应用程序而直接使用数据库客户端做一些超出权限的破坏
      

  7.   

    bluepower2008(蓝色力量) 说的对!
    补充一点:
    角色(或组)是在数据库中用的,具有相同角色的用户具有相同的权限 。
    在程序中需要用到的是数据库的登录名uid和密码(如:"DSN=erpchina2000;uid=chinaerp;pwd=cerphinaus"),一般来说这个登录名具有Admin的权限。当然了,在程序中还要设置程序的登录名,然后在根据这个登录名在程序中来判断这个人具有那些权限,能作那些操作。
    其余的bluepower2008(蓝色力量) 已经说了
      

  8.   

    to bluepower2008(蓝色力量)
    我确实混淆了数据库角色和应用程序角色的概念,应用程序角色应该是数据库角色的下层概念
    to tanghuan()
    不是很明白你的例子,不过你的思想我领悟了,谢谢
      

  9.   

    呵呵!又是一个不同层次的问题,很同意蓝色力量,水塘泥巴,tanghuan等人的观点,
    不过 lanying(蓝鹰.net) 最后说理解了"应用程序角色应该是数据库角色的下层概念",我倒觉得数据库角色才是相对底层的概念,应用程序中的角色才是上层概念!:)
      

  10.   

    我认为对于一个应用系统,角色如果由程序来管理更加灵活,应用程序可以成为用户和数据库之间的一个屏障,但是对于DBA来说,如果系统很大,角色管理是必不可少的。
      

  11.   

    hehe
    主要是大家用的少甚至没有用过
    如果仅仅是做做应用程序的开发
    或者数据库用户只有一个谈角色自然就觉得没有意义了
      

  12.   

    我觉得数据库的role是针对数据库的直接用户来说的。什么是直接用户呢?就是直接对数据库操作的用户,比如用sql plus登录的用户。也就是真对这些直接的用户才有意义。是在数据库开发管理、部门协作使用的。
        另外就是应用程序的用户,可以说是间接用户,他们通常都是有修改、选择权限的数据库用户的在封装。它也可能产生自己的系统角色。但此角色和彼角色的层次是不同的。
      

  13.   

    数据库的角色我认为完全是对DBA或者开发人员使用的,而应用程序的角色应该是通过程序控制的,完全是两回事情。就象应该程序的角色和操作系统的角色的区别一样。
      

  14.   

    每个岗位都有他相应的权利范围。角色也是如此。这样管理用户时可以把那些具有公共的权限组合成角色。
    数据库角色的上层在sql server2000中是服务器角色。