February 01, 2015

February 01, 2015
In this article, we are going to discuss about the various authentication library for the CodeIgniter PHP Framework. Codeigniter still does not has a native authentication library. Many people try to build thier own authentication library. Now we can find few good Codeigniter authentication library, they are free as well.

I would like to suggest some of Codeigniter authentication library.

Tank Auth

Tank Auth is an authentication library for PHP-framework CodeIgniter. It's based on DX Auth, although the code was seriously reworked.


  1. Basic auth options (login, logout, register, unregister).
  2. Very compact (less than 20 files and 4 DB-tables).
  3. Username is optional, only email is obligatory.
  4. Using phpass library for password hashing (instead of unsafe md5).
  5. Counting login attempt for bruteforce preventing (optional). Failed login attempts determined by IP and by username.
  6. Logging last login IP-address and time (optional).
  7. CAPTCHA for registration and repetitive login attempt (optional).
  8. Unactivated accounts and forgotten password requests auto-expire.
  9. Strict MVC model: controller for controlling, views for representation and library as model interface.
  10. Language file support.
  11. View files contain only necessary HTML code without redundant decoration.
  12. Most of the features are optional and can be tuned or switched-off in well-documented config file.
  13. Login using username, email address or both (depending on config settings).
  14. Registration is instant or after activation by email (optional).
  15. "Remember me" option.
  16. Forgot password (letting users pick a new password upon reactivation).
  17. Change password or email for registered users.
  18. Email or password can be changed even before account is activated.
  19. Ban user (optional).
  20. User Profile (optional).
  21. CAPTCHA support (CI-native and reCAPTCHA are available).
  22. HTML or plain-text emails.

DX Auth

DX Auth is an authentication library for Code Igniter. It's goal to enable you to easily include secure and easy to use authentication library to your project, while giving you the flexibility to choose from simple authentication system to full fledged authentication system.

DX Auth is also build with internationalization in mind, so every string is available in language file. (Except the examples because that is your code, not the library).

It's based on CL Auth 0.2.5 beta developed by Jason Ashdown.


  1. Basic auth (Login, logout, register, change password).
  2. Remember me.
  3. Login using username or email address or both (depend on config settings).
  4. Forgot password.
  5. Ban user.
  6. Last login IP address and time (optional).
  7. Email activation (optional).
  8. User Profile (optional).
  9. Role based (admin, user, moderator, etc). Inheritance also supported (optional)
  10. Restrict page based on URI and role (optional).
  11. Custom permission for each role (optional).
  12. Login attempt (optional). You can use this to display catpcha after specified try to login to prevent bot.
  13. Event feature (For example: You can put your own code like PM welcome message after user activated, etc).
  14. Captcha (optional, native and reCAPTCHA is available).
  15. Simple admin panel (So you can customize it, include it into your own admin panel, or delete if you don't need it).
  16. Most of the feature is optional, means you can turn it off in config file, delete it, or just don't use it.

DX Auth is tested in CI 1.7.0, but should be working for above version.


Redux Auth 2 had a lot of potential. It's lightweight, simple, and clean, but had a ton of bugs and was missing some key features. So we refactored the code and added new features.

Community Auth

Community Auth is a user authentication application for CodeIgniter. It is completely unique, and not based on anyone's previous work. If you've come here looking for a CodeIgniter authentication library, then please keep in mind that Community Auth is more than just a library. Community Auth is distributed with example controllers, models, views, and should be considered a project foundation.


  1. User Authentication (User Login)
  2. Access Granted by Level / Role
  3. Access Granted by Role Group
  4. Content Switching in Views
  5. Limits Failed Login Attempts
  6. Limits Login to a Single Device (Default)
  7. Deny Access by IP (Requires Local Apache Configuration File)
  8. Persistent Login (Remember Me) (Turned Off by Default)
  9. Forgotten Password and Username Recovery
  10. New User Registration
    • Off by Default
    • Instant Registration Mode
    • Registration by Email Verification Mode
    • Registration by Admin Approval Mode
  11. User Account Update
    • Self Update
    • Update by Superior Role


Post a Comment