thecsea / users-management
The most powerful and the simplest library to add a customizable users management system
Requires
- php: >=5.3.0
- thecsea/mysqltcs: 3.*
Requires (Dev)
README
The most powerful and the simplest library to add a customizable users management system
- Password stored with hash (MD5)
- Object oriented: every user is an object
- Very simply, only two object: User (single user) and UsersManagement (environment)
- Integrated with mysqltcs
- Use an already established database connection (mysqltcs connection)
- ApiKey support
- Enabled user support
- Salt support (more security)
- Expendable
#Download ##Get/update composer This library require composer (download composer here https://getcomposer.org/)
Update composer
php composer.phar self-update
##Download
Download via composer require (we suggest to create a dedicated directory for this)
php composer.phar require thecsea/users-management
or insert library as dependency in your composer project
thecsea/users-management": "1.0.*
in the last case you have to install or update you project
php composer.phar install
or
php composer.phar update
N.B. If you don't have access to server terminal you can perform installation on your pc and upload all via ftp
##Update users-management
You can update users-management (according to version limit set in composer.json
)
php composer.phar update
#Use
The examples are not implemented yet, although you can see how to use the library looking the tests
##Firt use
You have to import the sql structure tests/usersManagement.sql
##Simple example
<?php
require_once(__DIR__."/vendor/autoload.php"); //composer autoload
$db = require(__DIR__."/config.php"); //mysql connection data as array
use it\thecsea\mysqltcs\Mysqltcs;
use it\thecsea\users_management\UsersManagement;
use it\thecsea\users_management\User;
$connection = new Mysqltcs($db['host'], $db['user'], $db['psw'], $db['db']); //myslqtcs connection
$usersManagement = new UsersManagement($connection, $db['tables']['users'], "salt"); //environment
$user = User::newUser($usersManagement, "t", "tt@hhh.it", "gggg"); //new user, already inserted in db
$user2 = User::getUserByLogin($usersManagement, "tt@hhh.it", "gggg"); //LOGIN get user checking password
$users = $usersManagement->getUsers(); //get list of users
print_r($users[0]->getUserInfo()); //print user info (associative matrix)
?>
N.B. config.php is a file that contains the mysql connection data as array.
N.B. you have to include composer autoload to use the library
##How it works This library is fully object oriented so you have tostring, equals (user), clone and so on
###Exception This library use exception to show error, every method can throw two exception:
UsersManagementException
thrown on logic error (for example wrong password)Mysqltcsexception
thrown on mysql error (for example db permission problem)
###Methods and documentation The user contains other useful method, you can see how to use method looking the phpdoc
###Salt This library has support to salt, for more security, you can specify it via construct or via setter, or you can ignore it and use the default salt "thecsea"
###Extra features This library include extra features like apiKey string and enabled flag for each user, you can use these information as you want, this class provide only the insert and update methods for these information
N.B. this class create an unique apiKey for each user (default behavior)
###Db access You can obviously access to db, but we suggest to don't modify the structure.
#Test
This library is tested, you can find tests under tests
, coverage:
Credits
- Mysqltcs: php library to connect to a mysql database