Your rules do not apply to any actions, so if yii has an action it searches for a rules that is defined for it. If there is no matching deny rule, it will not deny.
I’ve just tried. Just created a controller with gii’s controller generator, and added controller filter rules (because they are not included by default):
class OtherController extends Controller
{
public function filters()
{
return array(
'accessControl',
);
}
public function accessRules()
{
return array(
array('allow', 'users'=>array('admin')),
array('deny', 'users'=>array('*')),
);
}
…
It works as it’s intended to:
When no one is logged, no access.
If someone is logged outside ‘admin’ login, no access.
If ‘admin’ login is successfully logged, full access.
(I created the controller with 2 dummy actions just to be sure).
If your controller looks like above, I think you have to check your code, or post your config file and controller