Renga Haka wrote: > > Bagaimana kalau pake Application Users? > > Pernah juga liat yang namanya profile untuk user. Tapi sepertinya > tidak untuk membatasi akses dari program apa... > > Mungkin bisa buat procedure yang ngebaca V$SESSION. Kemudian hasilnya > dijadikan dasar untuk kill session yang gak boleh tersebut.. Prosedur > disubmit sebagai jobs... ehmm.. Agak berbahaya & mesti eksplorasi dulu.. > > Salam.. > > --- On Tue, 3/17/09, Novian <ian_a...@yahoo. com > <mailto:ian_az04%40yahoo.com>> wrote: > > Dh, > > Klo mau batasin login masuk Oracle pasang triggernya dimana ya? > > Misalnya username = 'TEST' > > klo login lewat SQL*Plus username TEST ngga bisa masuk, > > tapi klo login lewat Form ato Report username TEST bisa login. > > Dimohon bantuannya > > Thanks. > Bisa gunakan trigger AFTER LOGON di database. Tetapi memang harus ekstra hati-hati dalam penggunaannya.
$ sqlplus / as sysdba SQL> CREATE OR REPLACE TRIGGER validasi_trigger 2 AFTER LOGON 3 ON DATABASE 4 DECLARE 5 n NUMBER; 6 BEGIN 7 -- perhatikan conditional if disinikarena 8 -- semua user mungkin gak bisa login 9 IF user = 'TEST' THEN 10 FOR i IN ( 11 SELECT program FROM v$session where username = user) LOOP 12 IF INSTR(LOWER(i.program),'sqlplus') > 0 THEN 13 -- error-kan trigger 14 n := 1/0; 15 END IF; 16 END LOOP; 17 END IF; 18 EXCEPTION 19 WHEN ZERO_DIVIDE THEN 20 RAISE_APPLICATION_ERROR(-20001,'Anda tidak boleh login lewat sini'); 21 WHEN OTHERS THEN 22 RAISE_APPLICATION_ERROR(-20001,'Trigger yg error, bukan anda'); 23 END validasi_trigger; 24 / Trigger created. CMIIW, AH

