Во-первых, когда я использую фильтр accessControl в моем контроллере, капча на странице входа в систему не отображается, и вот мой код в контроллере
public function actions()
{
return array(
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>array(
'class'=>'CCaptchaAction',
'backColor'=>0xF8F8F8,
'foreColor'=>0x000000,
),
// page action renders "static" pages stored under 'protected/views/site/pages'
// They can be accessed via: index.php?r=site/page&view=FileName
'page'=>array(
'class'=>'CViewAction',
),
);
}
public function filters()
{
return array(
'accessControl', // perform access control for CRUD operations
// 'postOnly + delete', // we only allow deletion via POST request
);
}
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('actions'),
'users'=>array('*'),
),
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','captcha',),
'users'=>array('*'),
)
)
}
вот мой код в поле зрения
$this->widget('CCaptcha', array( 'showRefreshButton'=>true,'buttonOptions'=>array('id'=>'refreshCaptcha','title'=>'Get a new code') ));
Для меня отображается экран входа в систему index.php
, а captcha
, который я вставил, взят из index.php
, и все равно ничего не получается. Где я допустил ошибку. Пожалуйста, предложите мне правильный способ разобраться в этом вопросе.конфликтующие капчи с accessControl.Заранее спасибо