Modul Pembangunan Aplikasi Basis Data Lanjut 2014 Authentication and Authorization on Oracle APEX 4.2 CUSTOM AUTHENTICATION 1. Buat sebuah tabel dengan nama tlogin, sebuah sequence dan sebuah trigger --create table CREATE TABLE tlogin( id NUMBER NOT NULL, username VARCHAR2(8) NOT NULL, password VARCHAR2(64) NOT NULL, status VARCHAR2(8), CONSTRAINT pk_tlogin PRIMARY KEY (id) ); --create sequence CREATE SEQUENCE sqidlogin; --create trigger CREATE OR REPLACE TRIGGER trg_idlogin BEFORE INSERT ON tlogin FOR EACH ROW BEGIN SELECT sqidlogin.NEXTVAL INTO :NEW.id FROM dual; END trg_idlogin;
2. Buat sebuah aplikasi baru, misal ruangan dengan id 114 3. Klik Shared Component, pada area Security klik Authentication Schemes
4. Klik tombol Create. Beri nama otentikasi_ruangan. Pada pilihan Schema Type pilih Custom. 5. Pada bagian Source isikan kode berikut : FUNCTION cek_otentikasi (p_username IN VARCHAR2, p_password IN VARCHAR2) RETURN BOOLEAN AS hasil NUMBER := 0; BEGIN SELECT 1 INTO hasil FROM tlogin Created by Boby Siswanto
Page 1
Modul Pembangunan Aplikasi Basis Data Lanjut 2014 WHERE UPPER(username) = UPPER(p_username) AND password = p_password; RETURN TRUE; EXCEPTION WHEN NO_DATA_FOUND THEN RETURN FALSE; END cek_otentikasi;
6. Pada bagian Settings, isikan cek_otentikasi (nama fungsi di Source) pada isian Authentication Function Name. Klik tombol Create. 7. Kembali ke Page Definition, klik tombol Edit Application Properties (kanan atas) lalu klik tab Security 8. Pada sub tab Authentication pilih otentikasi_ruangan pada isian Authentication Scheme lalu klik Apply Changes 9. Jalankan (RUN) aplikasi tersebut, sekarang login ditentukan berdasarkan username dan password yang terdaftar di tabel TLOGIN
Created by Boby Siswanto
Page 2
Modul Pembangunan Aplikasi Basis Data Lanjut 2014 AUTHORIZATION Limiting Access – Access Control List (ACL) 1. Create Page 2. Create Access Control Page 3. Application Mode : 1. Full Access, access control list not used Semua user bisa melakukan akses ke aplikasi 2. Restricted Access. Only users defined in the access control list are allowed. Hanya user yang didefinisikan dalam ACL yang dapat melihat halaman di dalam aplikasi 3. Public Read Only.Edit and administrative privileges controlled by access control list. Public dapat melihat halaman aplikasi 4. Administrative access only hanya user dengan privilege administrator yang dapat melihat aplikasi. Tahapan 1. Login ke workspace WS_PABD dengan user ADMIN_PABD 2. CREATE aplikasi baru -> misal kelas dengan ID 113 3. CREATE PAGE -> pilih Access Control lalu RUN page tersebut
4. Tentukan Application Administration Akhiri dengan menekan tombol Set Application Mode 5. Pada Access Control List, Add User seperti ilustrasi berikut
Akhiri dengan Apply Changes 6. Kembali ke Page Definition aplikasi 113 – Kelas. Klik Edit Application Properties 7. Klik tab Security – sub tab Authorization -> ubah drop down Authorization Scheme menjadi access control – administrator Akhiri dengan menekan tombol Apply Changes 8. RUN aplikasi 113-kelas 1. Login dengan user ADMIN_PABD, berhasil login Created by Boby Siswanto
Page 3
Modul Pembangunan Aplikasi Basis Data Lanjut 2014 2. Login dengan user LATIHAN1, hasilnya :
3. lakukan hal yang sama dengan user LATIHAN2 dan LATIHAN 3 9. Kembali ke langkah 13, ubah Authorization Scheme menjadi edit atau view. Lakukan kembali langkah ke-14, lihat hasilnya
Created by Boby Siswanto
Page 4
Modul Pembangunan Aplikasi Basis Data Lanjut 2014 CUSTOM AUTHORIZATION 1. Pada area Security di Shared Component klik tombol Create, pili from scratch 2. Beri nama otorisasi_admin 3. Pada bagian Authorization Scheme pilih PL/SQL Function Returning Boolean, lalu isikan kode berikut pada PL/SQL Function Body declare hasil varchar2(8); begin select status into hasil from tlogin where upper(username) = upper(:app_user); if nvl(hasil,'x') = 'ADMIN' then return true; end if; return false; end;
4. Isikan pada pesan error
5. Klik Create 6. Kembali ke Page Definition, klik tombol Edit Application Properties (kanan atas) lalu klik tab Security 7. Pada sub tab Authorization pilih otorisasi_admin pada isian AUthorization Scheme lalu klik Apply Changes 8. Jalankan (RUN) aplikasi tersebut, sekarang login ditentukan berdasarkan username dan password yang terdaftar di tabel TLOGIN dan hanya yang statusnya ADMIN saja yang bisa login
Created by Boby Siswanto
Page 5