Dúvidas sobre RBAC

Bom dia

Estou estudando o Yii e estou tentendo criar um sistema de login com o RBAC, eu li esta artigo:

http://www.yiiframework.com/doc/guide/1.1/en/topics.auth

Entendi a idéia, mas não consegui criar, fiz a configuração no main.php:




'db'=>array(

                        'connectionString' => 'mysql:host=localhost;dbname=fidelity',

                        'emulatePrepare' => true,

                        'username' => 'root',

                        'password' => '',

                        'charset' => 'utf8',

                ),

                'authManager'=>array(

                                'class'=>'CDbAuthManager',

                                'connectionID'=>'db',

                ),



Modifiquei a class UserIdentity para usar os dados do meu banco de dados;




<?php


/**

 * UserIdentity represents the data needed to identity a user.

 * It contains the authentication method that checks if the provided

 * data can identity the user.

 */

class UserIdentity extends CUserIdentity

{

    private $_id;

    public function authenticate()

    {

        $record=Usuarios::model()->findByAttributes(array('usuario'=>$this->username));

        if($record===null)

            $this->errorCode=self::ERROR_USERNAME_INVALID;

        else if($record->senha!==$this->password)

            $this->errorCode=self::ERROR_PASSWORD_INVALID;

        else

        {

            $this->_id=$record->id;

            $this->setState('title', $record->nome);

            $this->errorCode=self::ERROR_NONE;

        }

        return !$this->errorCode;

    }

 

    public function getId()

    {

        return $this->_id;

    }

}



Sei que agora devo criar o arquivo para o RBAC, mas estou com as seguintes dúvidas:

  1. Não sei onde devo criar e se o nome do arquivo é opcional ou padrão

  2. Pelo que eu entendi depois de criar o arquivo devo compílar ele no shel, se for isso como compilo?

  3. Meus dados de acesso de usuário é composto por apenas uma tabela, nela já terá os dados do usuário e o cargo para definir o que pode ou não acessar ou executar, isso tem algum problema pois os exemplos que vi tem mais de uma tabela.

Alguém poderia me dar uma força para finalizar esse login? Preciso mesmo de uma explicação.

[/code]