Thursday, December 8, 2011

afterlogin trigger

CREATE OR REPLACE TRIGGER afterlogon
AFTER LOGON on DATABASE
declare
userprofile varchar2(30);
os_user varchar2(30);
host varchar2(30);
user varchar2(30);
ip_addr varchar2(30);
BEGIN
select profile into userprofile from dba_users where username = sys_context('userenv','session_user');
select sys_context('userenv','os_user') into os_user from dual;
select sys_context('userenv','host') into host from dual;
select sys_context('userenv','session_user') into user from dual;
select sys_context('userenv','ip_address') into ip_addr from dual;

IF userprofile = 'XXCUST'
and ip_addr like '192.168.%' THEN
--insert into sys.tetb3 values(userprofile,os_user,user,host,ip_addr,'R');
--commit;
RAISE_APPLICATION_ERROR (-20001, 'You are not allowed to log into service account from this machine');
END IF;
END;
/

No comments:

Post a Comment