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&#39;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]

Kirim email ke