UserAuth Mini-App
User Authentication and Role/ ACL based Authorization
- Overview - Version 0.9.2t7
- Downloads
- Installation - Version 0.9.2t7
- Features
- Project Road Map to v1.0
- Links
- Upgrading
- tomcode in the absence of Peccavio ...
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
- userauth_0.9.2.zip
for CodeIgniter 1.4.1 - userauth_0.9.2t7.zip
for CodeIgniter 1.5.x - patch CI Session
for Apache 2 / PHP 5, exchanging Native Session with CI Session - patch update db
updates db schema prior to userauth_0.9.2t7,
fixes case-sensitive issue, adds the index groupname to table ci_groups
Installation - Version 0.9.2t7
- Make a standard CI 1.5 install, versions prior 1.5 will NOT work
- Download userauth_0.9.2t7.zip
- The distribution zip is structured same as standard CI
- Adjust root, system, application locations if your custom setup
- Make sure database.php config file has the proper information.
- Create a db for the system. By default, its expecting "userdb"
- Visit your site, and try to login (just hit the login button).
The system auto-creates database tables and default admin user. - Add groups and/or edit Roles in config/ua_config.php
- Make the Admin user account different then the default.
- Go back and delete the install controller.
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)
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
- Initial design was viewing with IE (looks nice)
- Language Files
- Look at details of current CI
- More languages? Contributors?
- Remember_Me_model
Add Features
- sign up - form with verification email
- user - edit_profile & forgot_password
Links
- The UserAuth Mini-App forum thread
- Don't forget to check out Code Igniter Wiki
- PHP Security Consortium
- Access Control & PHP Security at Sitepoint
- Storing Sessions in Database & Security Corner
- http://www.i18nguy.com/guidelines.html
- Web Internationalization Standards and Practice - Tutorial
- Alternative to Native_session that does not use php sessions.
- www.w3schools.com Good tutorials and reference
- cssplay.co.uk - Experiments with Cascading Style Sheets
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:
- erkanaauth A non-invasive user authentication library
- direct_access A non-invasive identification tool