Table des matières

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' ) , '', ''
);

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.

views

<?
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 
?>

controllers

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

  #$this->$session->read('Auth.User.id');