Nanya donk, kan ketika login umumnya ada role admin, authenticate ama guest. Nah yang mau saya tanya adalah bagaimana caranya supaya saya mau assign suatu user sebagai admin. Soalnya selama ini saya harus membuat user dengan username 'admin' baru bisa, tidak bisa dengan menggunakan username lain. Padahal harusnya tidak begitu bukan? Terima kasih sebelumnya
Page 1 of 1
[Solved]Memberikan roles pada user tertentu
#1
Posted 29 June 2010 - 04:38 AM
halo para suhu2 Yii semua...
Nanya donk, kan ketika login umumnya ada role admin, authenticate ama guest. Nah yang mau saya tanya adalah bagaimana caranya supaya saya mau assign suatu user sebagai admin. Soalnya selama ini saya harus membuat user dengan username 'admin' baru bisa, tidak bisa dengan menggunakan username lain. Padahal harusnya tidak begitu bukan? Terima kasih sebelumnya
Nanya donk, kan ketika login umumnya ada role admin, authenticate ama guest. Nah yang mau saya tanya adalah bagaimana caranya supaya saya mau assign suatu user sebagai admin. Soalnya selama ini saya harus membuat user dengan username 'admin' baru bisa, tidak bisa dengan menggunakan username lain. Padahal harusnya tidak begitu bukan? Terima kasih sebelumnya
“The most likely way for the world to be destroyed, most experts argue, is by accident. That’s where we come in; we’re computer professionals. We cause accidents.” - Nathaniel Borenstein
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
#2
Posted 29 June 2010 - 04:47 PM
junxiong, on 29 June 2010 - 04:38 AM, said:
halo para suhu2 Yii semua...
Nanya donk, kan ketika login umumnya ada role admin, authenticate ama guest. Nah yang mau saya tanya adalah bagaimana caranya supaya saya mau assign suatu user sebagai admin. Soalnya selama ini saya harus membuat user dengan username 'admin' baru bisa, tidak bisa dengan menggunakan username lain. Padahal harusnya tidak begitu bukan? Terima kasih sebelumnya
Nanya donk, kan ketika login umumnya ada role admin, authenticate ama guest. Nah yang mau saya tanya adalah bagaimana caranya supaya saya mau assign suatu user sebagai admin. Soalnya selama ini saya harus membuat user dengan username 'admin' baru bisa, tidak bisa dengan menggunakan username lain. Padahal harusnya tidak begitu bukan? Terima kasih sebelumnya
Terakhir saya sudah menemukan caranya.. Karena saya lebih prefer cara yang Access control list via fungsi accessRules() daripada RBAC (karena kurang mengerti apa kelebihan RBAC selain bisa hirarki). Saya mendapat referensi dari link ini :
http://blog.dmcinsig...-control-lists/
http://blog.dmcinsig...-yii-framework/
Secara default Yii menggunakan ACL dengan membandingkan username CWebUser orang yang login. Oleh karenanya jika kita memiliki 2 orang admin maka kita harus menulis seperti ini :
array('allow', // allow harold and maude user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete'),
'users'=>array('harold','maude'),
),
Nah masalahnya adalah, terkadang user kita bersifat fleksibel, di mana masing-masing memiliki role khusus. Otomatis membandingkan username bukanlah solusinya. Makanya solusi dari blog itu, kita meminta Yii untuk membandingkan roles dengan cara
array('allow',
'actions'=>array('admin','delete'),
'users'=>array('@'),
'expression'=>'isset($user->role) && ($user->role==="editor")'
),
Di sini expression untuk menjalankan script php dan haruslah mengembalikan nilai boolean. Tetapi bagaimana mungkin kita bisa memakai $user->role padahal CWebUser hanya memiliki Username dan Password?? Nah ketika kita melakukan authenticate() pada file components/UserIdentity.php kita harus setState()
$this->setState('role',$users->type);NB:$users saya itu merupakan User::model() yang memiliki attribute "type".
Jadi akhirnya thread ini dah diblang solve.
“The most likely way for the world to be destroyed, most experts argue, is by accident. That’s where we come in; we’re computer professionals. We cause accidents.” - Nathaniel Borenstein
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
#3
Posted 02 August 2010 - 02:31 AM
Wah, ini yang sy cari. Tetapi bagaimana kalo type usernya banyak misalnya Editor, Administrator, Member, dll?. Bagaimana cara ngeceknya pada controller?
.
Terima kasih
Terima kasih
#4
Posted 22 August 2010 - 11:22 AM
__agus, on 02 August 2010 - 02:31 AM, said:
Wah, ini yang sy cari. Tetapi bagaimana kalo type usernya banyak misalnya Editor, Administrator, Member, dll?. Bagaimana cara ngeceknya pada controller?
.
Terima kasih
Terima kasih
Kalau udah banyak mending beralih ke RBAC daripada menggunakan cara ACL lagi....
Itu menurut saya sih~
“The most likely way for the world to be destroyed, most experts argue, is by accident. That’s where we come in; we’re computer professionals. We cause accidents.” - Nathaniel Borenstein
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
#6
Posted 22 August 2010 - 11:03 PM
junxiong, on 29 June 2010 - 04:47 PM, said:
Terakhir saya sudah menemukan caranya.. Karena saya lebih prefer cara yang Access control list via fungsi accessRules() daripada RBAC (karena kurang mengerti apa kelebihan RBAC selain bisa hirarki). Saya mendapat referensi dari link ini :
http://blog.dmcinsig...-control-lists/
http://blog.dmcinsig...-yii-framework/
Secara default Yii menggunakan ACL dengan membandingkan username CWebUser orang yang login. Oleh karenanya jika kita memiliki 2 orang admin maka kita harus menulis seperti ini :
Nah masalahnya adalah, terkadang user kita bersifat fleksibel, di mana masing-masing memiliki role khusus. Otomatis membandingkan username bukanlah solusinya. Makanya solusi dari blog itu, kita meminta Yii untuk membandingkan roles dengan cara
Di sini expression untuk menjalankan script php dan haruslah mengembalikan nilai boolean. Tetapi bagaimana mungkin kita bisa memakai $user->role padahal CWebUser hanya memiliki Username dan Password?? Nah ketika kita melakukan authenticate() pada file components/UserIdentity.php kita harus setState()
NB:$users saya itu merupakan User::model() yang memiliki attribute "type".
Jadi akhirnya thread ini dah diblang solve.
http://blog.dmcinsig...-control-lists/
http://blog.dmcinsig...-yii-framework/
Secara default Yii menggunakan ACL dengan membandingkan username CWebUser orang yang login. Oleh karenanya jika kita memiliki 2 orang admin maka kita harus menulis seperti ini :
array('allow', // allow harold and maude user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete'),
'users'=>array('harold','maude'),
),
Nah masalahnya adalah, terkadang user kita bersifat fleksibel, di mana masing-masing memiliki role khusus. Otomatis membandingkan username bukanlah solusinya. Makanya solusi dari blog itu, kita meminta Yii untuk membandingkan roles dengan cara
array('allow',
'actions'=>array('admin','delete'),
'users'=>array('@'),
'expression'=>'isset($user->role) && ($user->role==="editor")'
),
Di sini expression untuk menjalankan script php dan haruslah mengembalikan nilai boolean. Tetapi bagaimana mungkin kita bisa memakai $user->role padahal CWebUser hanya memiliki Username dan Password?? Nah ketika kita melakukan authenticate() pada file components/UserIdentity.php kita harus setState()
$this->setState('role',$users->type);NB:$users saya itu merupakan User::model() yang memiliki attribute "type".
Jadi akhirnya thread ini dah diblang solve.
Mantaf gan,
ane juga dulu pernah install tuh RBAC ext. tp emank ribet banget, maklum oop-nya pas-pasan.

kyanya memang untuk kelas berat.

klo ada yang dah make and tau kelebihannya boleh diceritaiin..
#7
Posted 23 August 2010 - 11:08 AM
fastcrash, on 22 August 2010 - 11:03 PM, said:
Mantaf gan,
ane juga dulu pernah install tuh RBAC ext. tp emank ribet banget, maklum oop-nya pas-pasan.
kyanya memang untuk kelas berat.
klo ada yang dah make and tau kelebihannya boleh diceritaiin..
ane juga dulu pernah install tuh RBAC ext. tp emank ribet banget, maklum oop-nya pas-pasan.

kyanya memang untuk kelas berat.

klo ada yang dah make and tau kelebihannya boleh diceritaiin..
Sekarang sih saya dah pakai, cuma saya pakai Srbac, soalnya dah dibikinin deh rbac-nya. Jadi saya cukup tinggal klak klik doank. Soalnya setau saya, rbac ternyata harus dimasukkin satu per satu gitu.. maksudnya kita musti masukkin nama action controller(sebagai Operation) satu per satu, masukkin user (sebagai Role) satu per satu, terus hubung2in satu per satu...bisa bego duluan sebelum semuanya selesai dimasukkin.
Kalo pakai Srbac saya tinggal drag klik dah~
itu menurut saya sih
“The most likely way for the world to be destroyed, most experts argue, is by accident. That’s where we come in; we’re computer professionals. We cause accidents.” - Nathaniel Borenstein
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
Yii Playground : Collaborative demo apps. You can join to improve it too!
My Team's Blog: In Indonesian.
Share this topic:
Page 1 of 1

Help













