|
寫(xiě)在前面
* 我的feed地址已經(jīng)修改為: http://feeds.imdong.NET ,請(qǐng)更新您的閱讀器。
* 以下內(nèi)容適合Yii 1.0.x,其他版本可能有略微的差別。
* 根據(jù)您的評(píng)論和反饋,本文會(huì)不斷進(jìn)行修改和補(bǔ)充,以方便新學(xué)習(xí)者。
開(kāi)始準(zhǔn)備
Yii提供了強(qiáng)大的配置機(jī)制和很多現(xiàn)成的類(lèi)庫(kù)。在Yii中使用RBAC是很簡(jiǎn)單的,完全不需要再寫(xiě)RBAC代碼。所以準(zhǔn)備工作就是,打開(kāi)編輯器,跟我來(lái)。
設(shè)置參數(shù)、建立數(shù)據(jù)庫(kù)
在配置數(shù)組中,增加以下內(nèi)容:
復(fù)制代碼 代碼如下:
‘components‘ => array(
//……
‘a(chǎn)uthManager‘=>array(
‘class‘=>‘CDbAuthManager‘,//認(rèn)證類(lèi)名稱(chēng)
‘defaultRoles‘=>array(‘guest‘),//默認(rèn)角色
‘itemTable‘ => ‘pre_auth_item‘,//認(rèn)證項(xiàng)表名稱(chēng)
‘itemChildTable‘ => ‘pre_auth_item_child‘,//認(rèn)證項(xiàng)父子關(guān)系
‘a(chǎn)ssignmentTable‘ => ‘pre_auth_assignment‘,//認(rèn)證項(xiàng)賦權(quán)關(guān)系
),
//……
那這三個(gè)數(shù)據(jù)表怎么建立呢?很簡(jiǎn)單,去看framework/web/auth/schema.sql。注意要和你的自定義的表名稱(chēng)對(duì)應(yīng)起來(lái)。比如SQL文件中的AuthItem你要修改為pre_auth_item。然后在數(shù)據(jù)庫(kù)中運(yùn)行這個(gè)SQL文件中的語(yǔ)句。
了解概念
你可能要問(wèn),剩下的代碼呢?我告訴你,沒(méi)有啦。RBAC系統(tǒng)就這樣建立起來(lái)了。但是為了使用它,你需要了解它的運(yùn)行機(jī)制。我會(huì)盡量講的