Remember Me Gives Exception

I generated an app using yiic, then renamed 'SiteController' to 'MainController' (and made what I believe are all necessary adjustments), and it works fine until I check the 'Remember Me' checkbox on the login screen (regular login works fine).

If I login and check the Remember Me box, then click the login button, I get this:



CException





Description





Object configuration must be an array containing a "class" element.





Source File





/var/www/wf_yii/yii/framework/YiiBase.php(157)





00145:     {


00146:         if(is_string($config))


00147:         {


00148:             $type=$config;


00149:             $config=array();


00150:         }


00151:         else if(isset($config['class']))


00152:         {


00153:             $type=$config['class'];


00154:             unset($config['class']);


00155:         }


00156:         else


00157:             throw new CException(Yii::t('yii','Object configuration must be an array containing a "class" element.'));


00158: 


00159:         if(!class_exists($type,false))


00160:             $type=Yii::import($type,true);


00161: 


00162:         if(($n=func_num_args())>1)


00163:         {


00164:             $args=func_get_args();


00165:             if($n===2)


00166:                 $object=new $type($args[1]);


00167:             else if($n===3)


00168:                 $object=new $type($args[1],$args[2]);


00169:             else if($n===4)


Stack Trace





#0 /var/www/wf_yii/yii/framework/base/CModule.php(325): YiiBase::createComponent(Array)


#1 /var/www/wf_yii/yii/framework/base/CApplication.php(370): CModule->getComponent('cache')


#2 /var/www/wf_yii/yii/framework/base/CStatePersister.php(75): CApplication->getCache()


#3 /var/www/wf_yii/yii/framework/base/CApplication.php(454): CStatePersister->load()


#4 /var/www/wf_yii/yii/framework/base/CApplication.php(401): CApplication->loadGlobalState()


#5 /var/www/wf_yii/yii/framework/base/CSecurityManager.php(68): CApplication->getGlobalState('Yii.CSecurityMa...')


#6 /var/www/wf_yii/yii/framework/base/CSecurityManager.php(241): CSecurityManager->getValidationKey()


#7 /var/www/wf_yii/yii/framework/base/CSecurityManager.php(200): CSecurityManager->computeHMAC('a:3:{i:0;s:1:"1...')


#8 /var/www/wf_yii/yii/framework/web/auth/CWebUser.php(323): CSecurityManager->hashData('a:3:{i:0;s:1:"1...')


#9 /var/www/wf_yii/yii/framework/web/auth/CWebUser.php(172): CWebUser->saveToCookie(2592000)


#10 /var/www/wf2/protected/models/LoginForm.php(53): CWebUser->login(Object(UserIdentity), 2592000)


#11 /var/www/wf_yii/yii/framework/validators/CInlineValidator.php(39): LoginForm->authenticate('password', Array)


#12 /var/www/wf_yii/yii/framework/validators/CValidator.php(161): CInlineValidator->validateAttribute(Object(LoginForm), 'password')


#13 /var/www/wf_yii/yii/framework/base/CModel.php(187): CValidator->validate(Object(LoginForm), NULL)


#14 /var/www/wf2/protected/controllers/MainController.php(66): CModel->validate()


#15 /var/www/wf_yii/yii/framework/web/actions/CInlineAction.php(32): MainController->actionLogin()


#16 /var/www/wf_yii/yii/framework/web/CController.php(279): CInlineAction->run()


#17 /var/www/wf_yii/yii/framework/web/CController.php(257): CController->runAction(Object(CInlineAction))


#18 /var/www/wf_yii/yii/framework/web/CController.php(236): CController->runActionWithFilters(Object(CInlineAction), Array)


#19 /var/www/wf_yii/yii/framework/web/CWebApplication.php(332): CController->run('')


#20 /var/www/wf_yii/yii/framework/web/CWebApplication.php(120): CWebApplication->runController('')


#21 /var/www/wf_yii/yii/framework/base/CApplication.php(133): CWebApplication->processRequest()


#22 /var/www/wf2/index.php(11): CApplication->run()


#23 {main}


What is this telling me the problem is?  I checked the relevant files and everything is default from the generated webapp.

Check your app config about 'cache' component. It seems you didn't specify 'class' option for it.

Yep, I had ‘cache’ instead of ‘class’  ::)

Thanks again, qiang