Dh, Sy udah coba script yang ini -->
CREATE OR REPLACE TRIGGER validasi_trigger AFTER LOGON ON DATABASE DECLARE n NUMBER; BEGIN -- perhatikan conditional if disinikarena -- semua user mungkin gak bisa login IF user = 'TEST' THEN FOR i IN ( SELECT module FROM v$session where username = user) LOOP IF INSTR(LOWER( i.module) ,'SQL*Plus' ) > 0 THEN -- error-kan trigger n := 1/0; END IF; END LOOP; END IF; EXCEPTION WHEN ZERO_DIVIDE THEN RAISE_APPLICATION_ ERROR(-20001, 'Anda tidak boleh login lewat sini'); WHEN OTHERS THEN RAISE_APPLICATION_ ERROR(-20001, 'Trigger yg error, bukan anda'); END validasi_trigger; tetapi belum berhasil, kendalanya user TEST harus berhasil login terlebih dahulu memakai sqlplus baru column module (bukan column program) pada v$session terisi "SQL*Plus" . jika memakai script diatas column module pada v$session selalu kosong atau null, jadi fungsiif module = 'SQL*Plus tidak berhasil. user TEST tetap bisa login melalui SQL*Plus karena patokan columnmodule pada v$session berisi null. Jika memakai script diatas dicoba oleh Bpk. Awaluddin Hamid, berhasil atau tidak? Klo yg diatastidak memungkinkan / terlalu sulit, kondisi --> "user TESTdapat berhasil login melalui SQL*Plus tapi tidak dapat select,update, insert dan delete. Tetapi jika login melalui form dapat select,update, insert, dan delete & login di report dapat akses select." juga tidak apa2 yg penting user TEST tidak dapat menggunakan SQL*Plus :) Kalau menggunakan Role bagaimana Bpk. Awaluddin Hamid, supaya dapat membedakan login user TEST menggunakan SQL*Plus atau login menggunakan Form / Report? atau agar kondisi "user TEST dapat berhasil login melalui SQL*Plus tapi tidak dapat select,update, insert dan delete. Tetapi jika login melalui form dapat select,update, insert, dan delete & login di report dapat akses select." dapat berhasil. Dimohon bantuannya. Terima kasih sebelumnya. ________________________________ From: Awaluddin Hamid <[email protected]> To: [email protected] Sent: Wednesday, March 18, 2009 2:10:07 Subject: Re: [indo-oracle] Batasin Login Masuk Oracle Novian wrote: > > Dh, > > Kendala jika memakai trigger AFTER LOGON, user TEST harus berhasil > login terlebih dahulu melalui SQL Plus, baru column module di > v$session muncul bahwa user TEST tersebut memakai SQL*Plus, jika user > TEST tidak berhasil login, maka column module di v$session null. > Loh, pertanyaannya semula kan emang untuk membuat user TEST gak bisa login via SQLPlus. > > > Sebaiknya memakai trigger apa? agar user TEST jika login melalui > SQL*Plus tidak bisa masuk? > > Bisa atau tidak jika user TEST dapat berhasil login melalui SQL*Plus > tapi tidak dapat select,update, insert dan delete. Tetapi jika login > melalui form dapat select,update, insert, dan delete & login di report > dapat akses select. > Kalo yg ini, pertanyaannya udah beda. Bisa gunakan ROLE. > > > Terima kasih. > > CMIIW, AH New Email names for you! Get the Email name you've always wanted on the new @ymail and @rocketmail. Hurry before someone else does! http://mail.promotions.yahoo.com/newdomains/aa/ [Non-text portions of this message have been removed]

