Sabtu, 30 Maret 2013

Merubah cookie APP_USER secara permanen

Cookie APP_USER adalah sebuah penampung yang dibuat APEX untuk menyimpan nama user Aunthenticated. contoh username kita entry lutfi hedir. Lalu cookies tersebut bisa kita ubah didalam aplikasi menjadi lutfi.hedir dengan cara membuat sebuah proses dengan block seperti ini.
begin
--set user menjadi nama tertentu cara 1
apex_custom_auth.set_user('lutfi.hedir');
--set user menjadi nama tertentu cara 2
wwv_flow.g_user := 'lutfi.hedir';
end;

Yang harus diperhatikan adalah dimana akan dijalankan code tersebut. Jika anda tidak ingin secara permanen maka dapat dilakukan di proses page on load before header atau tempat lain sesuai keinginan. Namun jika ingin merubah secara permanen maka satu-satunya cara harus di lakukan pada Post-Authentication Procedure Name. Karena jika dilakukan diluar itu maka APP_USER akan tetap seperti USERNAME dimana kita entry pada saat login. meskipun kita lakukan proses di application proses on load before header, tetap APP_USER tidak berubah yang berubah disaat proses render saja, tapi jika digunakan dalam proses authorization APP_USER kembali seperti semula, atau jika digunakan dalam database trigger dengan memanggil v('APP_USER') maka kembali APP_USER akan dikenali sebagai lutfi hedir bukan lutfi.hedir.
Jadi anda harus buat sebuah procedure dalam database contoh my_post_login dengan code sbb:
create or replace procedure my_post_login is 
 begin 
   apex_custom_auth.set_user('lutfi.hedir'); 
 end my_post_login;

lalu gunakan my_post_login dalam Post-Authentication Procedure Name. Selamat mencoba
Sumber : Oracle APEX Forum

Tidak ada komentar :

Posting Komentar