UserAuth Mini-App

User Authentication and Role/ ACL based Authorization


Overview - Version 0.9.2t7

February 11, 2008 tomcode:
This version is still written for CI 1.5.4, until I'll release a version for 1.6.
You need at least to change some configs, like Dave Nuttall did post Userauth has problem with collation?
This notice is not included in the distribution.

January 1, 2008 tomcode in the absence of Peccavio:
changed database schema, fixed a remember me issue,
fixed some links, CI Session patch now uses encrypted cookies
see ChangeLog

This application demonstrates the usage of the UserAuth library &
administration interface. Content scaling to users is best practice.
User Management approaches towards i18n, internationalization.

Distribution is a mini-application aimed at being a useful example.
The install, easy along side of the Code Igniter blog (tutorial video).

We hope this helps to ignite your code.

Default Account: admin PW: admin


Downloads


Installation - Version 0.9.2t7

  1. Make a standard CI 1.5 install, versions prior 1.5 will NOT work
  2. Download userauth_0.9.2t7.zip
  3. The distribution zip is structured same as standard CI
  4. Adjust root, system, application locations if your custom setup
  5. Make sure database.php config file has the proper information.
  6. Create a db for the system. By default, its expecting "userdb"
  7. Visit your site, and try to login (just hit the login button).
    The system auto-creates database tables and default admin user.
  8. Add groups and/or edit Roles in config/ua_config.php
  9. Make the Admin user account different then the default.
  10. Go back and delete the install controller.
Seriously, the last two step important of security

Default Account: admin PW: admin


Features

UserAuth

  • Simple usage, User Management System
  • Access Control List (ACL) / Groups
  • Role based system, definable in config file
  • "Remember Me" with db backed cookies
  • User/Group Administration Management
  • Configurable, Inactive Login Expiration
  • UI, Tables and Forms are multi-lingual
  • Auto-install of required db tables
  • Supports table prefixes for db
  • Case-sensitive usernames

Mini-App

  • Simple (demo) application framework
  • Add static content without adding code
  • Application has minimal template based view
  • Internationalization, i18n for UserAuth
    • Cookie based user select
    • Browser language detect (library file)
    - English, French, German, Polish

Compatibility

  • PHP 4.3.2 or newer
  • MySQL 3.23.58 or newer (for auto-install)
  • Code Igniter 1.5.x (tested with 1.5.2)

Mini-App is Open Source, license is LGPL


Project Road Map to v1.0

  • Open Issues (incomplete code)

    • Remember_Me_model
      • removeOldRememberMe()
    • user add/edit form
      • validate PW == PW_confirm
      • forgets group when entry errors
    • CSS
      • Initial design was viewing with IE (looks nice)
        - is butt ugly viewed with Firefox
      • Entry Forms should get a new layout
    • Language Files
      • Look at details of current CI
      • More languages? Contributors?

  • Add Features

    • sign up - form with verification email
    • user - edit_profile & forgot_password


  • Alternative to Native_session that does not use php sessions.

My upcoming web site http://peccavi.com


Upgrading UserAuth

Upgrades from any version since Derek's (dallard) initial php5 version,
Auto-install updates db schema without affecting existing records.

Version 0.9.2t7 introduces a slightly different db schema (collation and index changes).
Older installations can update the schema using the patch update db.

Upgrading issues if upgrading CI Upgrading From a Previous Version


tomcode in the absence of Peccavio ...

I am working on a solution comparable in functionality, but with radically less code involved and much more modular. I'll continue to support this project until I've got my solution up, stable and running. I plan to have my solution compatible to this project. First impressions: