Dh, 

P' Yulius, sudah sy coba, ternyata bisa menggunakan trigger saran dari P' 
Yulius "DBMS_SESSION. SET_ROLE( 'X,Y');"  Terima kasih atas bantuannya P' 
Yulius. Case Close :)



________________________________
From: Yulius Wibowo <[email protected]>
To: [email protected]
Sent: Wednesday, April 1, 2009 10:14:56
Subject: [indo-oracle] Re: Batasin Login Masuk Oracle


Gunakan multiple role dengan separator koma, spt berikut:

DBMS_SESSION. SET_ROLE( 'X,Y');

bw

--- In indo-oracle@ yahoogroups. com, Novian <ian_a...@.. .> wrote:
>
> Dh,
> 
> Sy sudah mencoba memakai batasan melalui role seperti cara yg diinformasikan 
> oleh Bpk Rusef Slamet, sudah berhasil. :)
> 
> Tetapi kendalanya per user hanya bisa 1 role saja, jika Role user yg dimiliki 
> oleh user lebih dari 1 role, Trigger di pre-form nya bagaimana?, jika 
> menggunakan trigger "dbms_session. set_role( 'x');" khusus hanya 1 role saja, 
> jika lebih dari 1 role tidak bisa. (misalnya role x --> grant select table A,B
>                                                             role y --> grant 
> select table C,D
>                                              lalu di form terdapat table 
> A,B,C,D,
>                                              jika menggunakan trigger di 
> pre-form : 
>                                            dbms_session. set_role( 'x');
>                                            dbms_session. set_role( 'y); 
>                                               saat dicompile muncul error 
> table C,D must be declared)
> 
> Dimohon bantuannya, terima kasih sebelumnya.
> 
> 
> 
> 
> ____________ _________ _________ __
> From: rusef slamet <rusefslamet@ ...>
> To: indo-oracle@ yahoogroups. com
> Sent: Wednesday, March 25, 2009 6:24:34
> Subject: Re: [indo-oracle] Batasin Login Masuk Oracle
> 
> 
> Coba langkah ringkas  berikut:
> 1. set role untuk user login ke oracle
> create role app_login;
> grant create session, alter session to app_login;
> grant app_login to test;
> 
> 2. set role untuk mengakses data yang dapat diakses user
> create role x;
> grant select, insert, update, delete on table_yang_bisa_ diakses to x;
> grant x to test;
> 
> 3. Non aktifkan semua role untuk mengakses data dan hanya role untuk login
> alter user test default role app_login;
> 
> 4. di form pada trigger pre-form tambahkan statement berikut yang fungsinya 
> untuk mengaktifkan role x pada user test untuk session tersebut.
> 
> dbms_session. set_role( 'x');
> 
> Smoga membantu.
> ~roes~
> 
> ____________ _________ _________ __
> From: Novian <ian_a...@yahoo. com>
> To: indo-oracle@ yahoogroups. com
> Sent: Wednesday, March 18, 2009 4:35:26 PM
> Subject: Re: [indo-oracle] Batasin Login Masuk Oracle
> 
> 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.
> 
> 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.
> 
> Terima kasih. 
> 
> ____________ _________ _________ __
> From: Awaluddin Hamid <a...@alasindah. com>
> To: indo-oracle@ yahoogroups. com
> Sent: Wednesday, March 18, 2009 0:41:55
> Subject: Re: [indo-oracle] Batasin Login Masuk Oracle
> 
> 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
> 
> New Email addresses available on Yahoo!
> 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]
> 
> [Non-text portions of this message have been removed]
> 
> 
> 
> 
> 
>       Get your new Email address!
> Grab the Email name you&#39;ve always wanted before someone else does!
> http://mail. promotions. yahoo.com/ newdomains/ aa/
> 
> [Non-text portions of this message have been removed]
>


   


      Get your preferred Email name!
Now you can @ymail.com and @rocketmail.com. 
http://mail.promotions.yahoo.com/newdomains/aa/

[Non-text portions of this message have been removed]

Kirim email ke