Commits

christiansalazar committed b4fb001

mostrando como se maneja la encriptacion de clave- readme

Comments (0)

Files changed (1)

 				 'allowUserAlways'=>true,
 				 
 				// MIENTRAS INSTALAS..PONLO EN: false
+				// lee mas abajo respecto a 'Encriptando las claves'
+				//
 				'useEncryptedPassword' => false,	
 				
 				
 
 Puedes confiar en Yii::app()->user->isGuest.  ya que ésta considera todo esto para saber si el usuario es un invitado.
 
+##Encriptando las claves
+
+Por defecto Cruge trae dos usuarios, admin e invitado.  En el caso de admin la clave es 'admin', y por defecto además Cruge trae la encriptacion de claves desactivada, para facilitar el trabajo mientras se instala. Esto se modifica en: 'useEncryptedPassword' => false (del config/main).
+
+Si quieres encriptar las claves, es decir, que en la tabla de usuarios estas no sean visibles, entonces deberas tomar un paso extra: encriptar tu clave de admin y guardarla via base de datos en la tabla de usuarios (cruge_user),
+luego activas la encriptacion y con eso podrás acceder y veras que los nuevos usuarios que se vayan creando tendránsu nueva clave encriptada.
+
+**Encriptación MD5. Donde esta ubicada y donde cambiarla**
+
+Hay dos sitios en Cruge en donde se maneja la encriptacion:
+
+* cruge\models\auth\CrugeAuthDefault.php
+Aqui se valida la autenticacion del usuario que esta intentando acceder, se convierte la clave a su MD5 y se compara con la almacenada.
+
+		private function _getPwd(){
+			if(CrugeUtil::config()->useEncryptedPassword == true)
+				return md5($this->password);
+			return $this->password;
+		}
+
+* cruge\components\CrugeUserManager.php
+Aqui se maneja el cambio de clave.
+
+		public function changePassword(ICrugeStoredUser $user, $newPassword){
+			$epwd = $newPassword;
+			if(CrugeUtil::config()->useEncryptedPassword == true)
+				$epwd = md5($newPassword);
+			$user->password = $epwd;
+		}
+
 ##Filtros
 
 Cruge permite que se pueda extender mas alla usando filtros. Existen varios tipos de filtros, todos se instalan en config/main y disponen de una interfaz (interface) que debes respetar, a continuación la lista de filtros, si necesitas crear un filtro nuevo fijate en como esta hecho el filtro por defecto: