Our social:

Minggu, 07 Juni 2015

Pengaturan halaman home pada user sebelum dan sesudah login pada yii framework

Pada beberapa kasus kadang aplikasi yang kita buat mengharuskan user login terlebih dahulu sebelum user bisa masuk ke dalam aplikasi tersebut. Maka dari itu kita harus melakukan pengaturan seperti berikut :
  • Jika user belum melakukan login, maka dia akan langsung disuguhkan halaman login saat memasuki web aplikasi tersebut.
  • Jika user sudah melakukan login, maka dia akan langsung disuguhkan halaman home.
Baik mari kita modifikasi aplikasi kita….
Pertama-tama silahkan buka controller yang menghandle halaman “login” dan “home” yaitu di “protected/controllers/SiteController.php”. Setelah itu tambahkan kode berikut di atas   “public function actions()”
 /**
  * @return array action filters
  */
 public function filters()
 {
  return array(
   'accessControl',
  );
 }

 /**
  * Specifies the access control rules.
  * This method is used by the 'accessControl' filter.
  * @return array access control rules
  */
 public function accessRules()
 {
  return array(
   array('allow',
    'actions'=>array('error','contact','login','captcha'),
    'users'=>array('*'),
   ),
   array('allow',
    'actions'=>array('index','logout','update'),
    'users'=>array('@'),
   ),
   array('deny',  // deny all users
    'users'=>array('*'),
   ),
  );
 }
Selesai… Berikut  penjelasannya:
Mungkin anda terkejut melihat betapa singkatnya code yang kita tambahkan, sebagian dari anda juga mungkin berpikir bahwa kita akan mengotak-atik bagian views/model. Yah, dalam penjelasan di atas, kita hanya perlu melakukan manipulasi di kode controller. Kita cukup memberi hak akses pada masing-masing halaman yang akan di akses. Jadi kita cukup memberikan access rule pada halaman home dimana kita hanya mengizinkan halaman home hanya bisa di akses oleh user yang telah melakukan login. Jika user belum login, maka secara otomatis user akan dilempar ke halaman login…
Yak, selamat mencoba :D ….
Semoga membantu….