VPD Demo
VPD Demo
Tạo user:
---tạo user quản lý chính sách: QuanLyVPD
create user QuanLyVPD identified by admin;
grant create session to QuanLyVPD;
grant execute on DBMS_RLS to QuanLyVPD;
-- Statement type: Trên bảng SanPham chỉ có trưởng phòng quản lý kho mới
được sửa thông tin sản phẩm.
--Tạo function:
CREATE OR REPLACE FUNCTION fun_update_SanPham (
p_schema IN VARCHAR2,
p_object IN VARCHAR2)
RETURN VARCHAR2
AS
v_user VARCHAR2(20);
v_return VARCHAR2(200);
BEGIN
v_user := user;
if(v_user = ‘Thu’) then
v_return := ‘1=1’;
else v_return := ‘1=0’;
end if;
return v_return;
END;
--Thêm policy
BEGIN
dbms_rls.add_policy (
object_schema => congty,
object_name => ‘NhaCungCap’,
policy_name => ‘plc_ncc’,
policy_function => ‘fun_update_SanPham’,
statement_types => ‘insert, update’
);
END;