|
Database Tables | SQL Language in 602SQL | Functions in SQL |
Editing privilege subjects:
Editing relations between privileges and users (or subject privileges):
GRANT
and REVOKE
SQL statements).Users can be created using the CREATE USER
statement and deleted using the DROP USER
statement. User passwords can be set using the Set_password
function.
User groups can be created using the CREATE GROUP
statement and deleted using the DROP GROUP
statement.
Application roles can be created using the CREATE ROLE
statement and deleted using the DROP ROLE
statement.
Identifying or modyfying relations between two privilege subjects (e.g. assigning a user into a group, assigning a group into a role) is done using the Set_membership
and Get_membership
functions
Example:
PROCEDURE `INIT_SET_PRIVILS`();
/*******************************************/
// sets privileges to read, write, insert and update records for all table in the application
// to the Internet_user role
BEGIN
DECLARE sqlstr CHAR(500);
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
CALL log_write('Init_set_privils - '||sqlstate||' '||Int2str(sqlcode));
END;
FOR row AS INSENSITIVE CURSOR FOR
SELECT T2.tab_name // table list
FROM OBJTAB T1, TABTAB T2
WHERE T1.APL_UUID=T2.APL_UUID
AND (Ord(T1.category)=CATEG_APPL) AND (t1.obj_name=CURRENT_APPLICATION)
DO
SET sqlstr = 'GRANT DELETE, INSERT, SELECT, UPDATE ON '||row.tab_name||' TO ROLE INTERNET_USER';
CALL SQL_execute(sqlstr); // execute a dynamically created statement
END FOR;
END
List of topics:
Database Tables | SQL Language in 602SQL | Functions in SQL |