Login Rbac

Hi all

In my database I have a table called user_table. It has columns called user_name, user_type and password.

In my application when I give admin , admin as username and password it will shows manage tables to me. if I use another name instead of admin, it will not display manage page to me.

How can I fix that problem.

This is my UserIdentity.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



	 * Authenticates a user.

	 * The example implementation makes sure if the username and password

	 * are both 'demo'.

	 * In practical applications, this should be changed to authenticate

	 * against some persistent user identity storage (e.g. database).

	 * @return boolean whether authentication succeeds.





	private $_id;

	public function authenticate()


		$record=UserTable::model()->findByAttributes(array('user_name'=>$this->username));  // here I use Email as user name which comes from database



			$this->_id='user Null';



		else if($record->user_password!==$this->password)            // here I compare db password with passwod field

		{        $this->_id=$this->username;



		/*else if($record['E_STATUS']!=='Active')                //  here I check status as Active in db


			$err = "You have been Inactive by Admin.";

			$this->errorCode = $err;

		} */






			//$this->setState('title', $record['user_name']);

			$this->setState('user_type', $record->user_type);


			//Yii::app()->user->getState('user_type', $record->user_type);




		return !$this->errorCode;



	public function getId()       //  override Id


		return $this->_id;



I’m not sure, if I understood you, but maybe …

if (Yii::app()->user->username == 'admin'){some actions;}