php - register - Autenticación de usuario con CodeIgniter
usuarios codeigniter (7)
Estoy escribiendo una aplicación web usando PHP. Quiero usar el patrón MVC para esto, y decidí usar CodeIgniter . Mi aplicación tendrá algunas páginas que requerirán autenticación, y algunas páginas no. Quiero diseñar esto de una manera muy genérica, para que no haya duplicación de código. ¿Puede alguien señalar alguna buena "estructura de diseño / clase" para esto?
Escriba una biblioteca personalizada que pueda cargar automáticamente en la aplicación de encendido de su código en cada vista de página. Debería tener funciones que:
- Autentica el usuario ie. verificar si un usuario está conectado o no
- Inicia sesión, es decir. establecer una variable de sesión o algo
- Desconectarse
Luego, en sus clases de controlador puede hacer una llamada a la función de autenticación en el constructor y luego, dependiendo del resultado, continuar normalmente o redirigirlos a una pantalla de inicio de sesión con un mensaje de acceso denegado.
Haga una búsqueda en el código de encendido de wiki para ''autenticación'' y hay una serie de resultados que pueden ayudar: http://codeigniter.com/wiki/
Si por "algunas páginas" te refieres a algunos controladores (la puerta de entrada a tus vistas), entonces quizás quieras investigar la herencia del controlador. Extienda el controlador CodeIgniter predeterminado con el suyo y ponga una verificación de autenticación en el constructor (verifique si la sesión está iniciada o algo así y si no está conectado, redirija a la página de inicio de sesión). Entonces, todos los controladores que requieren autenticación necesitarán extender su nuevo controlador principal. Eso es.
Dirígete a los foros de CodeIgniter y busca algunas formas diferentes de extender el controlador. Aquí hay uno http://codeigniter.com/forums/viewthread/89768/#452890
Puede ser que pueda usar la biblioteca CL_AUTH para CI. Lo he usado y funciona bien. Puede encontrarlo aquí http://www.jasonashdown.co.uk/cl_auth_doc/
"Ion Auth" es delgado, bien programado, algo ampliamente utilizado y se mantiene activamente.
Estuve investigando lo mismo recientemente, y encontré un fork CodeIgniter llamado Kohana que incluye un bonito módulo de autenticación . Si está configurado en CI, quizás adaptar el módulo de autenticación de Kohana al CI le ahorrará algo de tiempo. Si acaba de comenzar su proyecto y PHP5 está bien de usar, considere cambiar; son marcos muy similares.
Visite GitHub y busque Codeigniter Auth o Autenticación, o consulte la Wiki de CodeIgniter , encontrará muchas bibliotecas con diferentes funciones ... ¡explorelas y elija la que necesita! Pero tenga cuidado, muchos son para CI 2, y tiene que obtener las clases para usar con CI 3, de lo contrario, no funcionan en absoluto.
Utilice flexi auth una versión modificada de la popular biblioteca Ion Auth . Es más avanzado y hace todo el trabajo listo para usar.
flexi auth es una biblioteca de autenticación / inicio de sesión de usuario de fuente abierta gratuita para utilizar con el marco CodeIgniter 2.0+.
Sé que es demasiado tarde, pero espero que alguien más lo encuentre útil. ¡Aclamaciones!