mllco1 Posted October 9, 2017 Share Posted October 9, 2017 Bonjour, Je viens d'installer PS 1.7.2.2. . Il m'est possible d'ajouter un employé à l'équipe, mais dès que ce nouvel employé essaye de se connecter avec ses attributions, on obtient le message suivant: ContextErrorException in Profile.php line 224:Notice: Undefined index: classname in Profile.php line 224 at ErrorHandler->handleError('8', 'Undefined index: classname', '/www/technobel/com/belgianshop/store/htdocs/classes/Profile.php', '224', array('authSlug' => 'ROLE_MOD_TAB_ADMINPICKING16_CREATE', 'matches' => array())) in Profile.php line 224 at ProfileCore::findIdTabByAuthSlug('ROLE_MOD_TAB_ADMINPICKING16_CREATE') in Profile.php line 175 at ProfileCore::getProfileAccesses('4') in Profile.php line 114 at ProfileCore::getProfileAccess('4', '101') in AdminController.php line 549 at AdminControllerCore->__construct() in LegacyContext.php line 62 at LegacyContext->getContext() in EmployeeProvider.php line 50 at EmployeeProvider->__construct(object(LegacyContext)) in appDevDebugProjectContainer.php line 3650 at appDevDebugProjectContainer->getPrestashop_Security_Admin_ProviderService() in bootstrap.php.cache line 2248 at Container->get('prestashop.security.admin.provider') in appDevDebugProjectContainer.php line 2877 at appDevDebugProjectContainer->getPrestashop_Adapter_Security_AdminService() in bootstrap.php.cache line 2248 at Container->get('prestashop.adapter.security.admin') in classes.php line 1970 at ContainerAwareEventDispatcher->lazyLoad('kernel.request') in classes.php line 1938 at ContainerAwareEventDispatcher->getListeners('kernel.request') in TraceableEventDispatcher.php line 245 at TraceableEventDispatcher->preProcess('kernel.request') in TraceableEventDispatcher.php line 135 at TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) in bootstrap.php.cache line 3236 at HttpKernel->handleRaw(object(Request), '1') in bootstrap.php.cache line 3206 at HttpKernel->handle(object(Request), '1', false) in bootstrap.php.cache line 3360 at ContainerAwareHttpKernel->handle(object(Request), '1', false) in bootstrap.php.cache line 2562 at Kernel->handle(object(Request), '1', false) in index.php line 86 Impossible pour cet "employé"..... Une idée? Merci, Bruno Link to comment Share on other sites More sharing options...
BeComWeb Posted October 9, 2017 Share Posted October 9, 2017 Bonjour, Avez-vous essayé avec différents profils et différentes pages d'accueil ? Link to comment Share on other sites More sharing options...
oivangine Posted October 12, 2017 Share Posted October 12, 2017 (edited) Bonjour, J'ai le même problème après création de plusieurs comptes utilisateurs et profiles, lors du paramétrage des permissions certain comptes ne peuvent plus se connecter. Notice au moment de l'accès à la page "Permissions" Notice à la ligne 224 du fichier /home/dev_ftp/www/xxx/classes/Profile.php[8] Undefined index: classname L'erreur au moment de la connexion avec un compte utilisateur "bugué" est la même que celle postée par l'auteur du sujet. Cette erreur est lié au paramétrage des permissions concernant certain modules installés. Merci par avance pour votre aide. Edited October 12, 2017 by oivangine (see edit history) Link to comment Share on other sites More sharing options...
oivangine Posted October 12, 2017 Share Posted October 12, 2017 (edited) Je pense avoir trouvé un fix : La regex utilisée ici : preg_match( '/ROLE_MOD_[A-Z]+_(?P<classname>[A-Z]+)_(?P<auth>[A-Z]+)/', $authSlug, $matches ); Est restrictif sur les noms utilisés dans la table ps_authorization_role est en modifiant les noms utilisés l'erreur n'est plus levée. Les caractère n'était pour moi pas des chiffres mais il est possible pour l'auteur que cela soit le cas je conseil donc de modifier le nom comme suit dans la DB : ROLE_MOD_TAB_ADMINPICKING16_CREATE => ROLE_MOD_TAB_ADMINPICKING_CREATE Ainsi que la correspondance 'class_name' dans la table ps_tab Edited October 12, 2017 by oivangine (see edit history) Link to comment Share on other sites More sharing options...
Guilhem Posted March 12, 2018 Share Posted March 12, 2018 (edited) Bonjour, je développe un site avec prestashop 1.7. J'ai créé un nouveau profil d'employé avec les permissions s'y rattachant. Lorsque j'essaie de me connecter au back office avec ce compte emplyé j'ai exactement la même erreur : ContextErrorException in Profile.php line 224: Notice: Undefined index: classname Le pire est que je ne puisse plus du tout me connecter au back office même avec le compte super admin puisque cette erreur se déclenche avant même que je puisse me loguer... En supprimant le compte employee créé j'ai pu de nouveau me connecter en tant que super admin. J'aimerais cependant pouvoir réussir à me loguer avec le compte employé que j'ai créé. Cela viendrait il du fait que lors de la création du mot de passe du compte employé j'utilise également des caractères non alpha numérique : $employee = new EmployeeCore(); $password = Tools::passwdGen(8, 'RANDOM'); $cryptedPwd=$this->encryptPwd($password); $employee->passwd=$cryptedPwd; public static function encryptPwd($plaintextPassword){ try { /** @var \PrestaShop\PrestaShop\Core\Crypto\Hashing $crypto */ $crypto = ServiceLocator::get('\\PrestaShop\\PrestaShop\\Core\\Crypto\\Hashing'); } catch (CoreException $e) { dump($e); // if error dump feel free to modify as you need } $hash_password = $crypto->hash($plaintextPassword); return $hash_password; } Merci pour vos conseils. Guilhem Edited March 12, 2018 by Guilhem (see edit history) Link to comment Share on other sites More sharing options...
Guilhem Posted March 13, 2018 Share Posted March 13, 2018 Bonjour, a pririo cela n'a rien a voir avec le mot de passe. Comme l'a expliqué oivangine il s'agissait du nom du tab qui n'était pas correct. Après correction l'employé créé peut se loguer. En revanche, il a des droits sur des pages d'un tab que j'ai créé dans le back office et impossible d'y accéder même si les permissions sont correctes... Quelqu'un a t il déjà eu à régler ce genre de problème ? Merci beaucoup. Bien cordialement, Guilhem Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now