Source

cruge / README.md

christiansalazar 1b574aa 

christiansalazar 7f8b5a7 
Ricardo Obregón be1561b 
christiansalazar 260aae6 
christiansalazar 7de2bb8 
christiansalazar 70ceace 
christiansalazar 7de2bb8 
christiansalazar 70ceace 
christiansalazar 7de2bb8 
christiansalazar 70ceace 
christiansalazar 7de2bb8 
christiansalazar de4042f 
christiansalazar 4e80b6d 
christiansalazar de4042f 
christiansalazar 24254c3 

christiansalazar 7de2bb8 
christiansalazar 20e1aea 
christiansalazar 4e30558 
christiansalazar 20e1aea 
christiansalazar 4e30558 
christiansalazar 20e1aea 
christiansalazar 1b574aa 
christiansalazar 6f5d113 
christiansalazar 7de2bb8 
christiansalazar 260aae6 
christiansalazar 4e80b6d 



Ricardo Obregón be1561b 
christiansalazar 260aae6 
christiansalazar 6f5d113 
christiansalazar 1b574aa 

christiansalazar 6f5d113 
christiansalazar 1b574aa 

Ricardo Obregón be1561b 
christiansalazar 6f5d113 
christiansalazar 260aae6 






christiansalazar 4e30558 





christiansalazar 260aae6 
christiansalazar 4e30558 
christiansalazar 260aae6 

christiansalazar 6f5d113 
christiansalazar 260aae6 

christiansalazar 1b574aa 
christiansalazar c4b7dc1 
christiansalazar 6f5d113 
christiansalazar 260aae6 
christiansalazar b4fb001 

christiansalazar 6f5d113 

Ricardo Obregón be1561b 



christiansalazar 4e30558 











christiansalazar 6f5d113 
christiansalazar d8d7935 
christiansalazar 6f5d113 
christiansalazar d8d7935 


christiansalazar 0d85e87 
christiansalazar 6f5d113 

Ricardo Obregón be1561b 
christiansalazar 6f5d113 

christiansalazar 260aae6 
christiansalazar 1b574aa 
christiansalazar 260aae6 
christiansalazar 87112c2 

Ricardo Obregón be1561b 
christiansalazar 87112c2 
christiansalazar 260aae6 
















christiansalazar 1b574aa 
christiansalazar 260aae6 
christiansalazar 6f5d113 
christiansalazar 260aae6 
christiansalazar 6f5d113 
christiansalazar 60ca747 
christiansalazar 6f5d113 
christiansalazar 60ca747 

christiansalazar 6f5d113 




christiansalazar 260aae6 
christiansalazar 1b574aa 















christiansalazar 6f5d113 
christiansalazar 4e30558 
CRUGE
-----

Extensión para el Control de Usuarios y Roles.

[**Ir al repositorio de Cruge Bitbucket**](https://bitbucket.org/christiansalazarh/cruge "Repositorio de Cruge en Bitbucket")

[visita mi blog](http://trucosdeprogramacionmovil.blogspot.com/ "Visita mi Blog")

[Comunidad de Yii Framework en Español](http://yiiframeworkenespanol.org/ "Yii Framework en Español")

[PROYECTO BASICO DE DEMOSTRACION](https://bitbucket.org/christiansalazarh/crugeholamundo/ "Cruge Demo")

[Descargar Documentación PDF](https://bitbucket.org/christiansalazarh/cruge/downloads/Cruge.pdf "Descargar Documentación PDF")

![screenshots][1]

##Requisitos de Plataforma

* PHP Version 5.2.6, 5.4.4, 5.4.5

* Yii Framework 1.10,  1.11, 1.12, 1.13

##Que es Cruge ?

 Cruge te permite administrar y controlar de forma muy eficiente y segura a tus usuarios y los roles que ellos deban tener en tu aplicación.

##DOCUMENTACION

[Descargar Documentación PDF](https://bitbucket.org/christiansalazarh/cruge/downloads/Cruge.pdf "Descargar Documentación PDF")

##Instalación

Primero voy a asumir que Cruge ha sido descargado a tu carpeta:

	/protected/modules/cruge/

puedes descargar cruge directamente desde un ZIP, o mediante un comando GIT como: git clone [URL DE GIT].

En el archivo de configuración de tu aplicación (config/main.php) deberás colocar lo siguiente:

	1.	dentro de 'import' agregar:
			'application.modules.cruge.components.*',
			'application.modules.cruge.extensions.crugemailer.*',

	2.	dentro de 'modules' agregar:
			'cruge'=>array(
				'tableprefix'=>'cruge_',

				// para que utilice a protected.modules.cruge.models.auth.CrugeAuthDefault.php
				//
				// en vez de 'default' pon 'authdemo' para que utilice el demo de autenticacion alterna
				// para saber mas lee documentacion de la clase modules/cruge/models/auth/AlternateAuthDemo.php
				//
				'availableAuthMethods'=>array('default'),

				'availableAuthModes'=>array('username','email'),
				'baseUrl'=>'http://coco.com/',

				 // NO OLVIDES PONER EN FALSE TRAS INSTALAR
				 'debug'=>true,
				 'rbacSetupEnabled'=>true,
				 'allowUserAlways'=>true,

				// MIENTRAS INSTALAS..PONLO EN: false
				// lee mas abajo respecto a 'Encriptando las claves'
				//
				'useEncryptedPassword' => false,

				// Algoritmo de la función hash que deseas usar
				// Los valores admitidos están en: http://www.php.net/manual/en/function.hash-algos.php
				'hash' => 'md5',

				// a donde enviar al usuario tras iniciar sesion, cerrar sesion o al expirar la sesion.
				//
				// esto va a forzar a Yii::app()->user->returnUrl cambiando el comportamiento estandar de Yii
				// en los casos en que se usa CAccessControl como controlador
				//
				// ejemplo:
				//		'afterLoginUrl'=>array('/site/welcome'),  ( !!! no olvidar el slash inicial / )
				//		'afterLogoutUrl'=>array('/site/page','view'=>'about'),
				//
				'afterLoginUrl'=>null,
				'afterLogoutUrl'=>null,
				'afterSessionExpiredUrl'=>null,

				// manejo del layout con cruge.
				//
				'loginLayout'=>'//layouts/main',
				'registrationLayout'=>'//layouts/main',
				'activateAccountLayout'=>'//layouts/main',
				'editProfileLayout'=>'//layouts/main',
				// en la siguiente puedes especificar el valor "ui" o "column2" para que use el layout
				// de fabrica, es basico pero funcional.  si pones otro valor considera que cruge
				// requerirá de un portlet para desplegar un menu con las opciones de administrador.
				//
				'generalUserManagementLayout'=>'ui',
			),

	3.	dentro de 'components' agregar:
	        //
			//  IMPORTANTE:  asegurate de que la entrada 'user' (y format) que por defecto trae Yii
			//               sea sustituida por estas a continuación:
			//
			'user'=>array(
				'allowAutoLogin'=>true,
				'class' => 'application.modules.cruge.components.CrugeWebUser',
				'loginUrl' => array('/cruge/ui/login'),
			),
			'authManager' => array(
				'class' => 'application.modules.cruge.components.CrugeAuthManager',
			),
			'crugemailer'=>array(
				'class' => 'application.modules.cruge.components.CrugeMailer',
				'mailfrom' => 'email-desde-donde-quieres-enviar-los-mensajes@xxxx.com',
				'subjectprefix' => 'Tu Encabezado del asunto - ',
				'debug' => true,
			),
			'format' => array(
				'datetimeFormat'=>"d M, Y h:m:s a",
			),

	4.	crea las tablas requeridas en la base de datos de tu aplicacion, usa el script:

		<tuaplicacion>/protected/modules/cruge/data/cruge-data-model.sql

		aqui se va a crear automaticamente un usuario para que puedas comenzar, toma nota

			usuario=admin
			clave=admin

	5.  Configura el menu de tu aplicacion para que incopore a Cruge, para ello
	edita tu archivo:
		/protected/views/layouts/main.php
	y sustituye el componente CMenu por el que te doy a continuacion.

		<?php $this->widget('zii.widgets.CMenu',array(
			'items'=>array(
				array('label'=>'Home', 'url'=>array('/site/index')),
				array('label'=>'About', 'url'=>array('/site/page', 'view'=>'about')),
				array('label'=>'Contact', 'url'=>array('/site/contact')),
				array('label'=>'Administrar Usuarios'
					, 'url'=>Yii::app()->user->ui->userManagementAdminUrl
					, 'visible'=>!Yii::app()->user->isGuest),
				array('label'=>'Login'
					, 'url'=>Yii::app()->user->ui->loginUrl
					, 'visible'=>Yii::app()->user->isGuest),
				array('label'=>'Logout ('.Yii::app()->user->name.')'
					, 'url'=>Yii::app()->user->ui->logoutUrl
					, 'visible'=>!Yii::app()->user->isGuest),
			),
		)); ?>

[1]: https://bitbucket.org/christiansalazarh/cruge/downloads/screenshots.gif