none
用户权限问题--等待解答 RRS feed

  • 问题

  • --今天作测试,了解一下架构,角色,权限

    EXEC sp_addrole Proj_Role  --创建角色


    GRANT SELECT,INSERT,UPDATE     TO Proj_Role --授予角色权限


    CREATE LOGIN U_TEST WITH PASSWORD='N-ll' ,default_database=Hand --创建登陆帐户,密码,默认数据库


    CREATE USER  Hus_Test for login U_TEST  --创建用户


    EXEC sp_addrolemember 'Proj_Role','Hus_Test' --将用户添加到角色中


    create schema TEST_ML authorization Hus_Test --创建架构,授予用户


    create schema TEST_DL authorization Hus_Test --创建架构,授予用户


    create table  TEST_ML.test_dbm(sex char(2),name char(8)) --创建表,并且录入数据


    insert into   TEST_ML.test_dbm SELECT '女','缓缓'
                 union
                                     SELECT '女','黛黛'


    GRANT SELECT   ON TEST_ML.test_dbm(NAME) TO Proj_Role --限制访问权限


    create table  TEST_DL.test_dsm(sex char(2),name char(8)) --创建表,并且录入数据


    insert into   TEST_DL.test_dsm SELECT '女','霏霏'
                 union
                                     SELECT '女','思思'


    GRANT SELECT   ON TEST_DL.test_dsm(NAME) TO Proj_Role --限制访问权限


    但是我用U_TEST 登陆,访问表的时候却没有限制

    /*------------------------


    select * from  TEST_ML.test_dbm
    select * from  TEST_DL.test_dsm
    ------------------------*/
    sex  name
    ---- --------
    女    缓缓   
    女    黛黛   

    (2 行受影响)

    sex  name
    ---- --------
    女    霏霏   
    女    思思   

    (2 行受影响)


    不知道我哪里做错了?


    星光总能为我指引方向
    2011年12月14日 6:11

全部回复


  • GRANT SELECT   ON TEST_DL.test_dsm(NAME) TO Proj_Role --限制访问权限
    这里应该是revoke select on test_dl.test_dsm from Proj_Role吧.


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年12月14日 6:17
  • GRANT SELECT   ON TEST_DL.test_dsm(NAME) TO Proj_Role --限制访问权限
      我要限制访问表的权限级别,你的那个是回收权限。
    星光总能为我指引方向
    2011年12月14日 6:30
  • Login U_TEST has read permission via db user Hus_Test that is member of Proj_Role, what's wrong? Do you want to set column permission?
    2011年12月14日 14:06