1 – Installare il plugin con Composer
composer require cakedc/users
2 – Attivare il plugin nel file config/bootstrap.php
Configure::write('Users.config', ['users']); // opzionale
$this->addPlugin('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);
3 – Creazione delle tabelle necessarie alla gestione utenti da linea di comando
bin/cake migrations migrate -p CakeDC/Users
Nota: se il database non è nella connessione "default" allora si può utilizzare la seguente sintassi
bin/cake migrations migrate --connection service -p CakeDC/Users
(Rif.: https://book.cakephp.org/migrations/2.x/en/#generating-migrations-from-an-existing-database )
4 – Creare un novo utente superuser (che avrà tutti i permessi abilitati) da linea di comando
bin/cake users addSuperuser
Questo restituisce i dati dell'utente appena creato. Appuntarsi la password generata:
Superuser added:
Id: c5cd58a0-73dd-48c6-af66-37ec8e994e7b
Username: superadmin
Email: superadmin@example.com
Role: superuser
Password: c29b94bd87fc481983ad667291a9948b
5 – Caricare il componente Auth in src/Controller/AppController.php
public function initialize()
{
parent::initialize();
//
$this->loadComponent('CakeDC/Users.UsersAuth');
}
5 bis – Se la tabella degli utenti è presente su un DB diverso, si può utilizzare una UsersTable propria, estensione di quella del plug-in:
a) in config/users.php specificare:
'Users' => [
// 'table' => 'CakeDC/Users.Users',
'table' => 'Users',
b) estendere la classe UsersTable nel file src/Model/Table/UsersTable.php
<?php
namespace App\Model\Table;
use Cake\ORM\Query;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;
use CakeDC\Users\Model\Table\UsersTable as DcUsersTable;
class UsersTable extends DcUsersTable
{
public static function defaultConnectionName() {
return 'service';
}
}
?>
6 – Accedere all’applicazione con le credenziali
userid: superadmin
passwd: c29b94bd87fc481983ad667291a9948b
7 – Accedere alla pagina mywesite/users/users per gestire gli utenti con le impostazioni di default
8 – Per modificare il template si può procedere con il metodo standard di CakePHP per i plugin creare la directory :
src/Template/Plugin/CakeDC/Users/Users
e copiarci dentro l’intero contenuto di
vendor/cakedc/users/src/Template/Users
Ora si possono modificare a piacimento i file .ctp
9 – Per configurare il plugin si può usare il file config/users.php
Ad esempio se non si vuole permettere la resgistrazione dell’utente o il “remember me”…