Si lo resolvi.
Un poco de historia.
En el fichero de inicio de la aplicacion (index.php) sustituí
Yii::createWebApplication($config)->run();
por
class VRSTWebApplication extends CWebApplication
{
public function __construct($config=null)
{
parent::__construct($config);
$this->_configurarModulosAplicacion();
}
private function _configurarModulosAplicacion()
{
$modulos=array();
$mods=AyudaModulo::modulosExistentes(realpath(Yii::app()->basePath . DIRECTORY_SEPARATOR . 'modules'));
foreach($mods as $mod) {
$this->setImport(array(
'application.modules.'.$mod.'.models.*',
'application.modules.'.$mod.'.components.*',
));
$this->setModules(array($mod=>array('id'=>$mod)));
$modulo=$this->getModule($mod);
}
}
}
$webApp=new VRSTWebApplication($config);
$webApp->run();
Esto para detectar los modulos que existen dentro de la carpeta protected/modules y configurarselos a la aplicacion. La liniea $modulo=$this->getModule($mod); me sirve para que cada modulo configurado al cargarse tambien "recargue" los modulos que tenga dentro. Para esto cree una clase que hereda de CWebModule y pongo todos mis modulos a heredar de ella. Esta clase tiene un metodo que se se encarga de cargar los modulos interiores, este es el codigo:
private function _configurarModulosComponentes()
{
$this->setImport(array(
$this->id.'.models.*',
$this->id.'.components.*',
));
$mods=AyudaModulo::modulosExistentes($this->modulePath);
foreach($mods as $mod) {
$strMod=strtolower($mod);
$this->setImport(array(
$this->id.'.'.$strMod.'.models.*',
$this->id.'.'.$strMod.'.components.*',
));
$this->setModules(array($strMod=>array('id'=>$strMod)));
$modulo=$this->getModule($strMod);
}
}
Como resolví lo del usuario?
Pues en esta misma clase redefiní el metodo:
public function beforeControllerAction($controller, $action)
{
if(parent::beforeControllerAction($controller, $action))
{
if ((Yii::app()->session['usuarioNombre']=='')||(Yii::app()->session['usuarioClave']==''))
{
$controller->redirect(Yii::app()->homeUrl);
}
if (Yii::app()->user->isGuest)
{
$LoginForm = new LoginForm;
$LoginForm->username = Yii::app()->session['usuarioNombre'];
$LoginForm->password = Yii::app()->session['usuarioClave'];
$LoginForm->login();
}
return true;
}
else
return false;
}
pregunto por dos variables de sesión, usuarioNombre y usuarioClave, si estan vacias redirecciono para homeUrl, si no entonces creo un nuevo modelo LoginForm y hago Login.
Esto es lo que tengo hecho, soy bastante nuevo en esto, vengo de programacion para Windows y mi esperiencia es bastante pobre en esto de la programación web, no se si seran barbaridades lo que he hecho, hasta el momento esto me funciona de esta manera, si tienen alguna sugerencia, será bienvenida.
Gracias por responder.