• postgresql 列级安全,列权限


    列级安全

    在某些情况下,并非所有的人都能看到表中所有的数据。postgres中可以指定某些用户只能看到某些列

    1.--表,插入一条数据
    postgres=# create table t_user(n_id int,c_name text);
    CREATE TABLE
    postgres=# insert into t_user values(1,'张三');
    INSERT 0 1
    
    2.--创建用户zhangsan
    postgres=# create role zhangsan login;
    CREATE ROLE
    
    3.--赋予账号连接和使用权限
    postgres=# grant connect on database postgres to zhangsan;
    GRANT
    postgres=# grant usage on schema public to zhangsan;
    GRANT
    
    4.赋予select权限给zhangsan,只能访问n_id
    postgres=# grant select (n_id) on t_user to zhangsan;
    GRANT
    
    5.--查询数据,可以读取到数据
    postgres=# c postgres zhangsan
    You are now connected to database "postgres" as user "zhangsan".
    postgres=> select n_id from t_user;
     n_id 
    ------
        1
    (1 row)
    
    --如果使用select *会报错,因为*标识所有的列,只能访问有权限访问的列
    postgres=> select * from t_user;
    错误:  permission denied for table t_user
    postgres=> select c_name from t_user;
    错误:  permission denied for table t_user
    
  • 相关阅读:
    jquery事件之事件委托和事件切换
    jquery事件之事件处理函数
    jquery动画效果
    jquery筛选元素函数
    jquery操作DOM
    jquery对css操作
    jquery属性操作
    Jquery选择器(三)
    Jquery选择器(二)
    Jquery选择器(一)
  • 原文地址:https://www.cnblogs.com/zhangfx01/p/14367563.html
Copyright © 2020-2023  润新知