public function actionLogin() { $this->layout = CrugeUtil::config()->loginLayout; $model = Yii::app()->user->um->getNewCrugeLogon('login'); // por ahora solo un metodo de autenticacion por vez es usado, aunque sea un array en config/main // $model->authMode = CrugeFactory::get()->getConfiguredAuthMethodName(); Yii::app()->user->setFlash('loginflash', null); Yii::log(__CLASS__ . "\nactionLogin\n", "info"); if (isset($_POST[CrugeUtil::config()->postNameMappings['CrugeLogon']])) { $model->attributes = $_POST[CrugeUtil::config()->postNameMappings['CrugeLogon']]; if ($model->validate()) { if ($model->login(false) == true) { Yii::log(__CLASS__ . "\nCrugeLogon->login() returns true\n", "info"); // a modo de conocimiento, Yii::app()->user->returnUrl es // establecida automaticamente por CAccessControlFilter cuando // preFilter llama a accessDenied quien a su vez llama a // CWebUser::loginRequired que es donde finalmente se llama a setReturnUrl $this->redirect(Yii::app()->user->returnUrl); } else { Yii::app()->user->setFlash('loginflash', Yii::app()->user->getLastError()); } } else { Yii::log(__CLASS__ . "\nCrugeUser->validate es false\n" . CHtml::errorSummary($model), "error"); } } $this->render('login', array('model' => $model)); }
public function getUserDescription($boolLoadUserFields = false, $sep = ',') { $fieldNames = CrugeUtil::config()->userDescriptionFieldsArray; $tmp = ""; if (in_array("username", $fieldNames)) { $tmp .= $sep . $this->username; } if (in_array("email", $fieldNames)) { $tmp .= $sep . $this->email; } if ($fieldNames != null) { if ($boolLoadUserFields == true) { $this->setFields(CrugeFactory::get()->getICrugeFieldListModels($this)); } foreach ($fieldNames as $fname) { if ($fname != "username" && $fname != "email") { $tmp .= $sep . $this->getCustomFieldValue($fname, $fname); } } } if ($tmp == "") { $tmp = $this->getUsername(); } return ltrim($tmp, $sep . " "); }
public function actionIngresar() { if (Yii::app()->user->hasFlash('backto')) { $backto = Yii::app()->user->getFlash('backto'); Yii::app()->user->setFlash('backto', null); Yii::app()->user->setFlash('backto', $backto); } else { $backto = 'usuario/perfil'; } if (!Yii::app()->user->isGuest) { $this->redirect(bu($backto)); } $model = Yii::app()->user->um->getNewCrugeLogon('login'); $model->authMode = CrugeFactory::get()->getConfiguredAuthMethodName(); Yii::app()->user->setFlash('loginflash', null); Yii::log(__CLASS__ . "\nactionLogin\n", "info"); if (isset($_POST[CrugeUtil::config()->postNameMappings['CrugeLogon']])) { $model->attributes = $_POST[CrugeUtil::config()->postNameMappings['CrugeLogon']]; if ($model->validate()) { if ($model->login(false) == true) { Yii::log(__CLASS__ . "\nCrugeLogon->login() returns true\n", "info"); // a modo de conocimiento, Yii::app()->user->returnUrl es // establecida automaticamente por CAccessControlFilter cuando // preFilter llama a accessDenied quien a su vez llama a // CWebUser::loginRequired que es donde finalmente se llama a setReturnUrl $this->redirect(bu($backto)); } else { Yii::app()->user->setFlash('loginflash', Yii::app()->user->getLastError()); } } else { Yii::log(__CLASS__ . "\nCrugeUser->validate es false\n" . CHtml::errorSummary($model), "error"); } } $this->render('ingresar', array('model' => $model)); }
public function getModel() { $model = Yii::app()->user->um->getNewCrugeLogon('login'); $model->authMode = CrugeFactory::get()->getConfiguredAuthMethodName(); return $model; }
/** * loginUser * metodo que emula el inicio de sesion tal cual se hubiese usado * el formulario de login, respetandose el control de sesion y demas. * * @param string $usernameOremail * @access public * @return instancia de ICrugeStoredUser o null */ public function loginUser($usernameOremail) { Yii::log(__METHOD__ . " usernameOremail=" . $usernameOremail, "info"); $user = $this->loadUser($usernameOremail); if ($user != null) { // crea un modelo de formulario y le pasa los datos, sin validar. // aqui model es una instancia de cruge.models.ui.CrugeLogon // $model = $this->getNewCrugeLogon('login'); $model->authMode = CrugeFactory::get()->getConfiguredAuthMethodName(); $model->username = $usernameOremail; $model->password = $user->password; if ($model->validate()) { if ($model->login(true) == true) { Yii::log(__METHOD__ . " retorna al usuario. exitoso.", "info"); return $user; } else { // no deberia ocurrir, porque se le esta dando el password, // pero respetemos el resultado de login()...paranoia. Yii::log(__METHOD__ . " retorna null. no deberia.", "error"); } } else { Yii::log(__METHOD__ . " retorna null." . CHtml::errorSummary($model, 'falla de validacion'), "error"); } } return null; }
public function loadSessionById($id) { return CrugeFactory::get()->getICrugeSession($id); }
public function actionBienvenido() { $mensaje = Yii::app()->user->getFlash('bienvenido'); $nombre = Yii::app()->user->getFlash('nombre'); $model = Yii::app()->user->um->getNewCrugeLogon('login'); $model->authMode = CrugeFactory::get()->getConfiguredAuthMethodName(); $usuario = Usuario::model()->findByAttributes(array('cruge_user_id' => $nombre->iduser)); $this->render('bienvenido', array('mensaje' => $mensaje, 'nombre' => $usuario->nombres, 'model' => $model)); }