Erreur Zend

idtrois Messages postés 6 Date d'inscription lundi 26 janvier 2015 Statut Membre Dernière intervention 7 février 2015 - Modifié par idtrois le 1/02/2015 à 12:48
idtrois Messages postés 6 Date d'inscription lundi 26 janvier 2015 Statut Membre Dernière intervention 7 février 2015 - 2 févr. 2015 à 00:01
Bonjour,
je suis entrain de faire mon projet "Gestion des clients produit" avec trois table client ,produit et achat avec les opérations ajouter ,modifier et supprimer ,mais j'ai trouvé une erreur au niveau de l'authentification ,il m'affiche ce message :

( ! ) Fatal error: Uncaught exception 'Zend_Acl_Exception' with message 'Resource id 'ajouter' already exists in the ACL' in C:\wamp\www\Essai\library\Zend\Acl.php on line 298
( ! ) Zend_Acl_Exception: Resource id 'ajouter' already exists in the ACL in C:\wamp\www\Essai\library\Zend\Acl.php on line 298
Call Stack
# Time Memory Function Location
1 0.0468 374424 {main}( ) ..\index.php:0
2 0.2974 1358096 Zend_Application->bootstrap( ) ..\index.php:33
3 0.2974 1358128 Zend_Application_Bootstrap_BootstrapAbstract->bootstrap( ) ..\Application.php:355
4 0.2974 1358128 Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap( ) ..\BootstrapAbstract.php:583
5 0.2975 1358584 Zend_Application_Bootstrap_BootstrapAbstract->_executeResource( ) ..\BootstrapAbstract.php:619
6 0.2975 1358848 Bootstrap->_initAutoload( ) ..\BootstrapAbstract.php:666
7 0.3909 1724544 Model_MagazinAcl->__construct( ) ..\Bootstrap.php:12
8 0.3911 1731128 Zend_Acl->add( ) ..\MagazinAcl.php:17
9 0.3911 1731128 Zend_Acl->addResource( ) ..\Acl.php:343

Merci d'avance

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
1 févr. 2015 à 15:17
Bonjour,
Sans voir ton code... il sera difficile de te répondre.

NB : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
idtrois Messages postés 6 Date d'inscription lundi 26 janvier 2015 Statut Membre Dernière intervention 7 février 2015
2 févr. 2015 à 00:01
AuthenticationController

<?php

class AuthenticationController extends Zend_Controller_Action
{

public function init()
{
/* Initialize action controller here */
}

public function indexAction()
{
// action body
}

public function loginAction()
{


if(Zend_Auth::getInstance()->hasIdentity()){
$this->_redirect('index/index');
}

$request = $this->getRequest();
$form = new Form_LoginForm();
if($request->isPost()){
if($form->isValid($this->_request->getPost())){

$authAdapter=$this->getAuthAdapter();

$username = $form->getValue('username');
$password = $form->getValue('password');

$authAdapter->setIdentity($username)
->setCredential($password);

$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);

if($result->isValid()){
$identity = $authAdapter->getResultRowObject();

$authStorage = $auth->getStorage();
$authStorage->write($identity);

$this->_redirect('index/index');

echo 'valid';
} else{
$this->view->errorMessage = 'username incorrect';
}
}
}


$this->view->form = $form;


}

public function logoutAction()
{
Zend_Auth::getInstance()->clearIdentity();
$this->_redirect('index/index');
}
private function getAuthAdapter(){
$authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter());
$authAdapter->setTableName('users')
->setIdentityColumn('username')
->setCredentialColumn('password');

return $authAdapter;
}

}


//loginform.php
<?php
class Form_LoginForm extends Zend_Form
{
public function __construct($option = null) {

parent::__construct($option);

$this->setName('login');

$username = new Zend_Form_Element_Text('username');
$username->setLabel('username:')
->setRequired();

$password = new Zend_Form_Element_Password('password');
$password->setLabel('password :')
->setRequired(true);

$login = new Zend_Form_Element_Submit('login');
$login->setLabel('Login');

$this->addElements(array($username,$password,$login));
$this->setMethod('post');
$this->setAction(Zend_Controller_Front::getInstance().getBaseUrl().'/authentication/login');
}
}
//login/phtml
<br /><br /><center>View script for controller <b>Authentication</b> and script/action name <b>login</b></center>
<?php
echo $this->errorMessage;
echo $this->form;

//AccessCheck.php

<?php
class Plugin_AccessCheck extends Zend_Controller_Plugin_Abstract{

private $_auth = null;
private $_acl = null;

public function __construct(Zend_Acl $acl, Zend_Auth $auth)
{
$this->_auth = $auth;
$this->_acl = $acl;
}

public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$resource = $request->getControllerName();
$action = $request->getActionName();

if(Zend_Auth::getInstance()->hasIdentity()){
$identity = $this->_auth->getStorage()->read();
$role = $identity->role;

if(!$this->_acl->isAllowed($role,$resource,$action)){

$request->setControllerName("authentification")
->setActionName("login");
}
}

else {
$request->setControllerName("authentification")
->setActionName("login");
}


}

}

?>
///users.php

<?php
/**
*
*/
class Model_DbTable_Users extends Zend_Db_Table_Abstract {

protected $_name = 'users';

public function addUser($nom, $password, $role)
{
if($role != 'admin' && $role != 'user'){
die('le role est incorrect');
return;
}

$data = array('username' => $nom, 'password' => $password, 'role' => $role);
$this->insert($data);
}


public function supprimerUser($id)
{
$this->delete('id = ' . $id);
}

}
//UsersController

<?php

class UsersController extends Zend_Controller_Action
{

public function listAction()
{
$users = new Model_DbTable_Users();
$this->view->user = $users->fetchAll();
}


public function addAction()
{
$form = new Form_UserAdd();
$this->view->form = $form;
if($this->getRequest()->isPost())
{
$fData = $this->getRequest()->getPost();
if($form->isValid($fData))
{

$nom = $form->getValue('nom');
$password = $form->getValue('password');
$role = $form->getValue('role');

$user = new Model_DbTable_Users();
$user->addUser($nom, $password, $role);
$this->_helper->redirector('list');
}
}

}

public function supprimerAction()
{
$id = $this->_getParam('id', 0);

$user = new Model_DbTable_Users();
$user->supprimerUser($id);
$this->_helper->redirector('list');
}


}









0
Rejoignez-nous