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

Kirim email ke