authentication - CWebUser calling methods from own User model -


i switched default approach user authentication through loginform::authenticate() , login() + sitecontroller::actionlogin() , actionlogout() 1 uses app's own user::authenticate() , login() + usercontroller::actionlogin() , actionlogout().

the user model has other methods (e.g. user::isregisteredtocourse()) need call often. there easier, leaner way logged user (i.e. 1 has same id cwebuser) access methods following...?

    user::model()->findbypk(yii::app()->user->id)->isregisteredtocourse() 

i looking like:

    loggeduser::isregisteredtocourse() 

or @ least:

    yii::app()->user->isregisteredtocourse() 

but not know best way join cwebuser own user model.

any ideas?


update: simplest way found shortcut reference logged user create webuser class extending cwebuser , add model() method returns reference user:

/**  * returns logged user's user model.  * @return user user's user model. if user not logged in, false.  */ public function model() {     if(count($model=user::model()->findbypk(yii::app()->user->id)) == 1)         return $model;     else         return false; } 

now invocation of logged user's method shortens to:

    yii::app()->user->model()->isregisteredtocourse() 

although, keep looking forward getting leaner shortcut not usable have write five-level reference invoke method logged user.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -