Veo que hay algunos . ¿Cuáles son mantenidos y fáciles de usar? ¿Cuáles son sus pros y sus contras?
php
codeigniter
authentication
GavinR
fuente
fuente
Respuestas:
Actualización (14 de mayo de 2010):
Resulta que el desarrollador ruso Ilya Konyukhov recogió el guante después de leer esto y creó una nueva biblioteca de autenticación para CI basada en DX Auth, siguiendo las recomendaciones y requisitos a continuación.
Y el Tank Auth resultante se parece a la respuesta a la pregunta del OP. Voy a arriesgarme aquí y llamar a Tank Auth la mejor biblioteca de autenticación para CodeIgniter disponible hoy. Es una biblioteca sólida como una roca que tiene todas las características que necesita y ninguna de las que no necesita:
Autenticación de tanque
Descargue Tank Auth aquí
Respuesta original:
También he implementado el mío (actualmente aproximadamente el 80% lo hace después de algunas semanas de trabajo). Probé todos los demás primero; FreakAuth Light, DX Auth, Redux, SimpleLogin, SimpleLoginSecure, pc_user, Fresh Powered y algunos más. Ninguno de ellos estaba a la altura, en mi opinión, o carecían de características básicas, inherentemente inseguras o demasiado hinchadas para mi gusto.
En realidad, hice un resumen detallado de todas las bibliotecas de autenticación para CodeIgniter cuando las estaba probando (justo después de Año Nuevo). FWIW, lo compartiré contigo:
DX Auth
FreakAuth Light
pc_user
Recién Alimentado
Redux / Ion Auth
De acuerdo con la wiki de CodeIgniter , Redux ha sido descontinuado, pero la bifurcación de Ion Auth se está fortaleciendo: https://github.com/benedmunds/CodeIgniter-Ion-Auth
Ion Auth es una biblioteca bien presentada sin ser demasiado pesada o poco avanzada. En la mayoría de los casos, su conjunto de características satisfará con creces los requisitos de un proyecto.
SimpleLoginSecure
No me malinterpreten: no pretendo faltarle el respeto a ninguna de las bibliotecas anteriores; Estoy muy impresionado con lo que han logrado sus desarrolladores y qué tan lejos han llegado cada uno de ellos, y no estoy dispuesto a reutilizar parte de su código para construir el mío. Lo que digo es que, a veces en estos proyectos, el enfoque cambia de las necesidades esenciales (como las prácticas de seguridad estrictas) a las cosas más agradables, y eso es lo que espero remediar. .
Por lo tanto: volver a lo básico.
Autenticación para CodeIgniter bien hecha
Aquí está mi lista MINIMAL requerida de características de una biblioteca de autenticación. También resulta ser un subconjunto de la lista de características de mi propia biblioteca;)
Nota: esos últimos puntos no son excesos de seguridad súper alta que no necesita para su aplicación web. Si una biblioteca de autenticación no cumple con estos estándares de seguridad al 100%, ¡NO LA USE!
Ejemplos recientes de alto perfil de codificadores irresponsables que los dejaron fuera de su software: # 17 es cómo el correo electrónico de Sarah Palin fue pirateado durante la campaña presidencial; una combinación desagradable de # 18 y # 19 fueron los culpables recientemente cuando las cuentas de Twitter de Britney Spears, Barack Obama, Fox News y otros fueron pirateadas; y solo el número 20 es cómo los piratas informáticos chinos lograron robar 9 millones de elementos de información personal de más de 70,000 sitios web coreanos en un hack automatizado en 2008.
Estos ataques no son cirugía cerebral. Si deja las puertas traseras abiertas de par en par, no debe engañarse con una falsa sensación de seguridad al atornillar la parte delantera. Además, si usted es lo suficientemente serio acerca de la codificación para elegir un marco de mejores prácticas como CodeIgniter, se lo debe a usted mismo al menos para obtener las medidas de seguridad más básicas bien hechas.
<rant>
Básicamente, así es como es: no me importa si una biblioteca de autenticación ofrece un montón de características, administración avanzada de roles, compatibilidad PHP4, bonitas fuentes CAPTCHA, tablas de países, paneles de administración completos, campanas y silbatos, si la biblioteca realmente hace mi sitio es menos seguro al no seguir las mejores prácticas. Es un paquete de autenticación ; necesita hacer UNA cosa bien: Autenticación. Si no logra hacer que , en realidad está haciendo más daño que bien.
</rant>
/ Jens Roland
fuente
Tenga en cuenta que la "lista completa" de Jens Roland no incluye roles de usuario. Si está interesado en asignar diferentes roles de usuario (como admin / user o admin / editor / user), estas bibliotecas le permiten:
Tank_Auth (# 1 arriba en la lista de Jens) no tiene roles de usuario. Me doy cuenta de que no es exactamente parte de la autenticación, pero desde
Tiene mucho sentido tener una biblioteca para manejar ambas, si la necesita. Me estoy cambiando a Ion_Auth desde Tank_Auth debido a esto.
fuente
Ion_auth! ¡Se ve muy prometedor y ocupa poco espacio! Me gusta..
http://github.com/benedmunds/CodeIgniter-Ion-Auth
fuente
Soy el desarrollador de Redux Auth y algunos de los problemas que mencionaste se han solucionado en la versión 2 beta. Puede descargar esto del sitio web oficial con una aplicación de muestra también.
Las preguntas de seguridad ahora no se usan y se ha implementado un sistema de contraseña olvidado más simple.
Esto se solucionó en la versión 2 y devuelve valores booleanos. Odiaba la mezcolanza tanto como tú.
La aplicación de muestra utiliza el sistema de validación de CI.
Trabajo en progreso
También implementé algunas otras características como las vistas de correo electrónico, esto le da la opción de poder usar los ayudantes de CodeIgniter en sus correos electrónicos.
Todavía es un trabajo en progreso, así que si tienes más sugerencias, sigue haciéndolo.
-Palomitas de maiz
PD: Gracias por recomendar Redux.
fuente
Me he encontrado con Flexi Auth ( http://haseydesign.com/flexi-auth/ ). Se ve muy prometedor, y he comenzado a usarlo. Tiene características maravillosas. Se integra completamente con CI y viene con dos archivos de biblioteca diferentes, en los cuales uno está muy cargado con todas las funciones y el otro contiene solo las validaciones.
Una de las mejores es que el miembro recién registrado obtiene acceso temporal durante un período de tiempo determinado en el sitio, hasta que haga clic en el enlace de su correo electrónico y se active.
fuente
Quizás encuentre Redux que satisfaga sus necesidades. No es excesivo y viene repleto de características básicas que la mayoría de nosotros necesitaríamos. El desarrollador y los colaboradores fueron muy estrictos sobre qué código se contribuyó.
Esta es la página oficial.
fuente
Ion_Auth supera a tank_auth principalmente por dos razones, roles de usuario y documentación, estos dos faltan en tank_auth.
fuente
Yo uso una versión personalizada de DX Auth . Me pareció simple de usar, extremadamente fácil de modificar y tiene una guía de usuario (con excelentes ejemplos) que es muy similar a la de Code Igniter.
fuente
También eche un vistazo a BackendPro
En última instancia, probablemente terminarás escribiendo algo personalizado, pero no hay nada de malo en tomar prestados conceptos de DX Auth, Freak Auth, BackendPro, etc.
Mi experiencia con las aplicaciones empaquetadas es que son específicas de ciertas estructuras y he tenido problemas para integrarlas en mis propias aplicaciones sin requerir hacks, entonces si el pre-paquete tiene una actualización, tengo que migrarlas.
También uso Smarty y ADOdb en mi código CI, así que no importa lo que siempre termine haciendo cambios importantes en el código.
fuente
Tank Auth se ve bien, pero la documentación es solo una explicación de una página sobre cómo instalar, más un desglose rápido de cada archivo PHP. Al menos eso es todo lo que encontré después de mucho googlear. Quizás lo que la gente quiere decir arriba cuando dicen que Tank Auth está bien documentado es que el código está bien comentado. Eso es algo bueno, pero diferente a la documentación. Hubiera sido bueno tener alguna documentación sobre cómo integrar las características de Tank Auth con su código existente.
fuente
Estoy probando Ion_Auth y lo aprecio, por cierto ...
SimpleLoginSecure Hace que la autenticación sea simple y segura.
fuente