http://www.grafikart.fr/tutoriels/securiser-cakephp-auth-49

best method

avec htaccess: dans le .htaccess du répertoire app, créer un htpasswd avec la commande

htpasswd -c .htpasswd radeff

puis éditer le htaccess et ajouter:

<FilesMatch "admin$">
#radeff trick to protect admin area
AuthName "Member Only"
AuthType Basic
AuthUserFile /home/radeff/unige/cms/static/db/app/.htpasswd
require valid-user
</FilesMatch>

method 1

:-) http://book.cakephp.org/fr/view/172/Authentication

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` char(50) collate utf8_unicode_ci default NULL,
  `password` char(255) collate utf8_unicode_ci default NULL,
  `email` varchar(255) collate utf8_unicode_ci NOT NULL,
  `role` varchar(255) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
$user_email = $_SESSION['Auth']['User']['email'];

    [Auth] => Array
        (
            [User] => Array
                (
                    [id] => 1
                    [username] => radeff
                    [email] => frederic.radeff@unige.ch
                    [role] => admin
                )

        )

method 2

http://book.cakephp.org/view/327/simple-user-authentication

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL,
  `password` varchar(32) NOT NULL,
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
INSERT INTO `users` (
`id` ,
`username` ,
`password` ,
`first_name` ,
`last_name`
)
VALUES (
NULL , 'admin', SHA1( 'YOURCAKESecurity.saltYourPassword' ) , '', ''
);
  • password : résultat du passage de la clé de sécurité suivie du mot de passe de l’administrateur par une méthode de hachage (SHA1 par défaut, qui produit toujours une chaine de 40 caractères) ;

INSERT INTO `users` (`id`, `login`, `password`, `disabled`, `created`) VALUES (1, 'admin', SHA1(6a10cdde80fb56150efda09365f91579ea74a944admin), 0, NOW());

http://www.formation-cakephp.com/31/interface-dadministration-dun-site-cakephp-avec-le-composant-auth

ACL

:-) enfin un qui marche nickel! un peu plus long, mais à garder et à réutiliser

http://book.cakephp.org/view/641/Simple-Acl-controlled-Application

ensuite on peut l'utiliser comme ça p.ex.

<?
echo "Bienvenue," .$session->read('Auth.User.username');
echo "<br>Ton identifiant: ".$session->read('Auth.User.id');
echo "<br>Ton groupe: ".$session->read('Auth.User.group_id');
echo 
?>

$utilisateur=$this→Auth→user('id');

  #$this->$session->read('Auth.User.id'); 
  • info/authentification_protection_cakephp.txt
  • Dernière modification: 2018/07/18 09:45
  • par radeff