Monday, September 15, 2014

Login Security in ADF part 2

Sekarang saya akan membahas bagaimana cara memberikan hak akses pada setiap usernya.
Pertama kita buat JSF yang bertujuan untuk memberitahu aplikasi setelah berhasil login, page yang akan di buka apa. Saya membuat form sederhana yang berisikan "login!"


Disini saya hanya membuat tampilan simple, agar kita tetap fokus bagaimana cara membuat login security di ADF. Apabila user sudah login, maka page yang akan dibuka adalah form tersebut. Saat anda telah membuat security di aplikasi anda, adf secara otomatis membuat form jazn-data.xml didalam Application Resources. Xml tersebut bertujuan untuk memberikan hak login terhadap id dan passwordnya dan hak akses bedasarkan idnya. Misal kita punya id bernama andre dan pakpahan. Si andre kita beri akses admin dimana dapat melihat dan memodifikasi data, sedangkan pakpahan kita beri hak akses menjadi user dimana hanya dapat melihat applikasi saja. Jadi tujuan jazn-data.xml adalah memberikan hak akses terhadap setiap id yang ada.

Selanjutnya kita klik kanan pada jazn-data.xml, dan pilih properties. Maka form Edit JPS Identity & Policy Store form akan keluar.



Didalam jazn.com terdapat users dan roles. Dimana user berguna untuk membuat user baru dan Roles berguna untuk memberikan pengelompokan pada setiap user. Contoh saya membuat 2 user, bernama andre dan pakpahan.



Dan didalam Roles saya mengelompokan bedasarkan user dan admin.
 

Selanjutnya adalah memberitahukan applikasi bahwa kita telah memiliki user dan rolenya dengan cara create new di application policy store.
 

Saya memberikan nama pada Application Policy Store dengan nama testingApplication. dan didalam Application Roles saya add user dan admin. Disini bertujuan agar aplikasi mengetahui bahwa terdapat 2 jenis kelompok. Untuk memberitahukan masing masing kelompok diperlukan penambahan kebijakan di mamber user dan member roles

Masukkan kedalam Member user bedasarkan kelompoknya, contoh:
Untuk pakpahan saya jadikan sebagai user.
Untuk admin, saya jadikan andre. dan pada tab Member Roles saya masukkan kedua tipe roles, yang dimana pada tahap ini bertujuan agar meregistrasikan role admin dan user kepada aplikasi dan klik ok.

Selanjutnya kita memberikan hak akses terhadap semua role yang telah kita registrasikan. Pertama, masuk ke jazn-data.xml
 

Pada jazn-data.xml terdapat 2 jenis tab. Tab pertama adalah Task Flow, dan kedua adalah Web Pages. Apabila kita membuat form menggunakan TaskFlow kita menggunakan TaskFlow, tetapi saya disini membuat form dengan menggunakan JSF, sehingga saya akan menggunakan webpages.

Disini Form yang telah saya buat, saya berinama Testing.jspx. Disini form telah teregistrasi. Sebelumnya kita perlu memberikan role dengan menggunakan granted to roles dan di add. Tetapi pada tahap ini kita tidak dapat menambahkan role dikarenakan kita belum melakukan page definition. Kita perlu melakukan page definition terlebih dahulu.


Setelah tahap tersebut, ADF akan otomatis menambahkan DataBindings.cpx dan testingPageDef.xml. Sehingga kita dapat menambahkan role di jazn-data.xml.
 

Button Add pada Granted to Roles sudah dienable sehingga kita dapat menambahkan Rolenya.
Pada tahap ini kita memberikan hak akses pada setiap group role yang sudah kita buat. Untuk Role Admin saya berikan hak akses untuk view, customize, edit, grant, dan personalize. Sedangkan untuk user saya berikan hak akses hanya view. Aplikasi telah selesai dibuat. Sekarang saatnya mencoba aplikasi apakah berjalan sesuai dengan yang diharapkan.


Tara!!, sekarang sudah dapat login sesuai dengan hak akses yang sudah kita buat. Silahkan masukkan user yang telah kamu buat dan telah kamu registrasikan kedalam masing masing rolenya. Sekian posting kali ini, di lain waktu saya akan menjelaskan cara membuat Logout di adf, karena saat kita masuk kedalam aplikasi menggunakan passwordnya, otomatis browser akan menyimpan id dan passwordnya. Sehingga dibutuhkan button logout untuk keluar dari aplikasi tersebut.

Terimakasih sudah membaca postingan saya, Selamat mencoba.

No comments:

Post a Comment