Páginas

domingo, 24 de junio de 2012

Comparación simple entre algunas extensiones para el control de acceso de YiiFramework


Como lo prometido es deuda, estuve jugando un poco con las extensiones para control de acceso que me recomendaban en la Página de facebook de YiiFramework en Español, a partir de esto realice una pequeña comparación entre las que me comentaban, espero que pueda servir de ayuda al momento de la elección, aunque la comparación no esta muy detallada ya que no ligue ninguna con un gestor de usuarios como tal, sin más preámbulos vamos a la comparación 

Es el componente que trae el framework por defecto, simplemente lo importamos, y hacemos una configuración tan simple como crear una base de datos o incluso un archivo llamado auth.php como lo indican acá en este post http://www.yiiframework.com/wiki/65/how-to-setup-rbac-with-a-php-file/, simplemente sencillo de trabajar, fácil de configurar por lo tanto es la elección de muchos que les gusta hacer su propia gestión de control de acceso, como bien me recomendaba una persona en la conversación que tuvimos en la Página de facebook de YiiFramework en Español

Actualmente es el que tengo en un proyecto ya que hasta ahora estaba buscando cual extensión se me hacía mejor para este tema del control de acceso.


En las pruebas realizadas a esta extensión, pude notar facilidad para configurarlo, tan simple como seguir los pasos de la documentación que colocan en la web de la extensión, aunque en la línea de la clase de configuración para el login 
'class'=>'modules.srbac.components.SDbAuthManager'
” falto colocar al principio el application al principio para que pudiera el autoload cargarlo, sin embargo una vez configurado correctamente
'class'=>'application.modules.srbac.components.SDbAuthManager'

, es algo intuitivo para cualquier usuario que trabaje con el framework se da cuenta de que falta ese detalle para que logre iniciarse el modulo, una vez establecido la interfaz aunque me habían comentado que deja que desear, me pareció fácil de manejar y muy simple para el momento de manejar los roles, tareas y operaciones de los usuarios, ya esta internacionalizado para nuestro lenguaje, solo vi un pero corrijan si estoy errado o si hubo una mala configuración de mi parte (ando comenzando con el framework así que puede pasar), me dejo ingresar al módulo de srbac sin pedirme ningún login (a mi manera de ver un fail ya que le estoy dando a cualquier visitante la oportunidad de tener el control de mis listas de acceso), aunque en mi investigación según vi en algunos foros, se resuelve con un condicional (aunque sigo pensando la extensión debería de tenerlo en cuenta porque es la seguridad), sin embargo muy intuitivo y para los que están acostumbrados a utilizar authManager seguro se les hará simple ya que esta basada en esta.


El más recomendado en la Página de facebook de YiiFramework en Español, y cuando lo instalamos podemos ver el porque, simple, una interfaz mas limpia en cuanto a la estructura del html se refiere, fácil de instalar y configurar, la documentación super detallada, tiene la traducción a nuestro lenguaje, en fin una excelente herramienta para trabajar el control de acceso, no le encontré ningún pero, ya veo el porque es tan recomendada, me hablaron de integrarla con yiiUser, pero como estaba tocando el tema solo de control de acceso no quise darle ventajas a ninguna extensión. Aunque tiene una ventaja en lo personal esta en github https://github.com/schmunk42/yii-rights solo un git clone y ya tenemos nuestra extensión en la carpeta de la aplicación


Es mas que un simple control de acceso es un sistema completo de usuario que gestiona varios componentes, es decir te monta la gestión de usuarios con tan solo una configuración simple, es mucho mas complejo que los mencionados anteriormente ya que esta basado en diferentes módulos, para los que necesitan la gestión de usuarios ya montada YUM es la elección, ya que tiene todo lo relacionado a registros asignación de permisos creación de permisos, en lo personal para proyectos a grandes rasgos creo que es la elección, pueden ver acá todo lo que esta ofrece http://code.google.com/p/yii-user-management/ y por supuesto descargar y probar esta excelente extensión

Una vez probadas todas las extensiones claro que YUM esta por encima de las otras motivado a que esta tiene toda la gestión de usuarios, sin embargo como indique en el grupo la veo muy compleja para proyectos a pequeños rasgos (aunque siempre pueden crecer), la segunda opción de las estudiadas sería como podemos ver Rights debido a la facilidad y simplicidad que esta ofrece de hecho se tendría que unir con yiiUser como me recomendaron para poder hacer una comparación entre YUM y esta completamente, seguiría por supuesto SRBAC que le encontré en mis pruebas el detalle de la falta de solicitud de autenticación para poder gestionar los roles de usuario y por última el authManager y explico porque, como se observo cuando se estaba haciendo las pruebas con las extensiones tanto rights como srbac están basadas en esta, de hecho ya nos proveen una interfaz gráfica para el manejo de los roles y estaríamos sacando a mi parecer más provecho de esta extensión si utilizamos alguna que ya nos tenga un poco de trabajo ya realizado.

Espero que este post sea informativo y aclaratorio para todos los que lo lean por supuesto si hay comentarios o correcciones en cuanto a cada una de las extensiones que se mencionaron no duden en indicarlos, el tema por supuesto va al grupo del facebook ya que de ahí fue de donde salio, saludos

2 comentarios:

  1. Hola Carlos, le di una revisada rapida tus post y me gustaron bastante en especial que quiero aprender a programar php como se debe(adios codigo spaguetti) gracias por tu aporte :D.

    ResponderEliminar
    Respuestas
    1. Gracias por el comentario, eso es importante que la comunidad phpera quiera desarrollar como se debe, como tip, lo principal entender que php5 es igual a Programación Orientada a Objetos, es una ventaja este paradigma y hay que adaptarlo luego te toca elegir una herramienta (framework) nos ayuda mucho, una vez entiendes la filosofía con las que estos trabajan lo demás ya esta de ti como programador por acá estamos a la orden por cualquier duda, saludos

      Eliminar