create or replace procedure sp_ltmlogin AS
MODULE SYS.V_$SESSION.MODULE%TYPE ;
L_USER NUMBER ;
BEGIN
SELECT MODULE INTO MODULE FROM SYS.V_$SESSION WHERE AUDSID = USERENV('SESSIONID') AND AUDSID != 0 AND ROWNUM = 1;
SELECT COUNT(*) INTO L_USER FROM DBA_USERS DBA_USERS WHERE DBA_USERS.USERNAME=USER AND DBA_USERS.PROFILE='LTM';
IF L_USER=0 THEN
IF UPPER(MODULE) ='LDLIVETRADEMONITOR.EXE'
THEN
RAISE_APPLICATION_ERROR(-20000,'you are not authorized to access LTM software');
END IF;
END IF ;
IF L_USER > 0 THEN
IF UPPER(MODULE) ='LD.EXE'
THEN
RAISE_APPLICATION_ERROR(-20000,'you are not authorized to access LD software');
END IF;
END IF ;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL ;
END;
/
create or replace
trigger tg_ltmlogin
after logon on Database
Begin
sp_ltmlogin() ;
End;
/
To restrict user to login only
LTM user, you have to create a LTM profile and move that users to LTM profile
Followings are the steps to
implement the same
1 Connect
to sysdba user
Create
profile for LTM users and move them to LTM profile
CREATE PROFILE LTM
LIMIT PASSWORD_REUSE_MAX DEFAULT
PASSWORD_REUSE_TIME DEFAULT;
ALTER USER LTM PROFILE LTM;
No comments:
Post a Comment