thecsea/users-management

The most powerful and the simplest library to add a customizable users management system

v1.1.2 2015-10-05 14:54 UTC

This package is auto-updated.

Last update: 2024-12-04 13:20:05 UTC


README

Build status: Build Status Scrutinizer Code Quality Code Coverage Build Status Latest Stable Version Total Downloads Latest Unstable Version License

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: Code Coverage

Credits

  • Mysqltcs: php library to connect to a mysql database

By thecsea.it