1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| <?php
/****
Gestion des droits et des utilisateurs
guest - visiteur
client - Clients possédant des ETTs
candidat - Intérimaire
admin - Administrateur global
*/
class MyAcl extends Zend_Acl {
public function __construct(Zend_Auth $auth) {
// Les rôles
$this->addRole(new Zend_Acl_Role('guest'));
$this->addRole(new Zend_Acl_Role('candidat'), 'guest');
$this->addRole(new Zend_Acl_Role('agence'), 'guest');
$this->addRole(new Zend_Acl_Role('client'), 'agence'); // recruteur
$this->addRole(new Zend_Acl_Role('admin'), 'guest');
// Les ressources
$this->add(new Zend_Acl_Resource('display_debug_msg')); // Affichage des messages de debug via firedebug
$this->add(new Zend_Acl_Resource('display_beta_menu')); // Affichage des messages de debug via firedebug
$this->add(new Zend_Acl_Resource('index'));
$this->add(new Zend_Acl_Resource('cv'));
$this->add(new Zend_Acl_Resource('geo'));
$this->add(new Zend_Acl_Resource('auth'));
$this->add(new Zend_Acl_Resource('register'));
$this->add(new Zend_Acl_Resource('misc'));
$this->add(new Zend_Acl_Resource('referencement'));
$this->add(new Zend_Acl_Resource('selection'));
$this->add(new Zend_Acl_Resource('recruteurs'));
$this->add(new Zend_Acl_Resource('cvtheq'));
$this->add(new Zend_Acl_Resource('pub'));
$this->add(new Zend_Acl_Resource('tempo'));
$this->add(new Zend_Acl_Resource('manager'));
$this->add(new Zend_Acl_Resource('manager_agences'));
$this->add(new Zend_Acl_Resource('manager_classeur'));
$this->add(new Zend_Acl_Resource('manager_cvtheque'));
$this->add(new Zend_Acl_Resource('manager_index'));
$this->add(new Zend_Acl_Resource('manager_clients'));
$this->add(new Zend_Acl_Resource('manager_postes'));
$this->add(new Zend_Acl_Resource('manager_auth'));
$this->add(new Zend_Acl_Resource('manager_call'));
$this->add(new Zend_Acl_Resource('manager_pub'));
$this->add(new Zend_Acl_Resource('candidats_area'));
$this->add(new Zend_Acl_Resource('candidats_auth'));
$this->add(new Zend_Acl_Resource('candidats_register'));
$this->add(new Zend_Acl_Resource('entreprise'));
$this->add(new Zend_Acl_Resource('entreprise_index'));
$this->add(new Zend_Acl_Resource('entreprise_call'));
// Les autorisations
$this->allow('guest', 'index');
$this->allow('guest', 'cv');
$this->allow('guest', 'geo');
$this->allow('guest', 'misc');
$this->allow('guest', 'register');
$this->allow('guest', 'referencement');
$this->allow('guest', 'selection');
$this->allow('guest', 'recruteurs');
$this->allow('guest', 'manager_auth');
$this->allow('guest', 'manager_index');
$this->allow('guest', 'candidats_auth');
$this->allow('guest', 'candidats_register');
$this->allow('guest', 'entreprise');
$this->allow('guest', 'cvtheq');
$this->allow('guest', 'index','redirect');
$this->allow('guest', 'pub');
$this->allow('guest', 'tempo');
$this->deny('guest', 'manager_pub','deny');
$this->deny('agence', 'manager_pub','deny');
$this->deny('client', 'manager_pub','allow');
$this->allow('candidat', 'candidats_area');
$this->allow('agence', 'manager_index','index');
$this->allow('agence', 'manager_classeur');
$this->allow('agence', 'manager_cvtheque');
$this->allow('agence', 'manager_postes');
$this->allow('agence', 'manager_clients');
$this->allow('agence', 'manager_agences','update');
$this->allow('agence', 'manager_agences','clientdata');
$this->allow('agence', 'manager_call','index');
$this->allow('agence', 'manager_call','resultats');
$this->allow('agence', 'manager_call','details');
$this->deny('agence', 'manager_clients','switchstatus');
$this->deny('agence', 'manager_clients','add');
$this->deny('agence', 'manager_clients','delete');
$this->deny('agence', 'manager_clients','index'); // listing de tout les clients
$this->allow('client', 'manager_agences','updatepostes');
$this->allow('admin'); // Accès sans aucune restriction
$this->allow('admin', 'manager_index','index');
$this->allow('admin', 'candidats_auth');
$this->deny('admin','candidats_area'); // Restriction de l'espace candidats
$this->allow('guest', 'entreprise');
$this->allow('guest', 'entreprise_index','index');
$this->allow('guest', 'entreprise_index','search');
$this->allow('guest', 'entreprise_call','index');
$this->allow('guest', 'entreprise_call','confirm');
}
} |
Partager