Jump to content

[Résolu] Accès interdit plusieurs onglets admin


Recommended Posts

Bonjour,

je viens de migrer vers la dernière version de PS et je n'ai pas accès en tant qu'admin à de nombreuses fonctions du BO comme générateur de fichiers par exemple ou sites affluents...

J'ai l'erreur "accès interdit".

Je remarque que les permissions ne sont pas sauvegardées non plus sur les profils des employés...

SVP aidez moi :(

Merci d'avance pour votre aide.

Link to comment
Share on other sites

As tu bien pensé à mettre à jour également ton back-office ? Beaucoup oublient de remplacer les fichiers car le nom de dossier n'est pas le même.

Quel numéro de révision contient ton fichier admin/index.php ? ( ligne 23)

Link to comment
Share on other sites

Non, enfin, je sais pas... en tout cas c'est bien la dernière version du fichier index ...

le profil administrateur est sensé avoir tout les droits et être non éditable ...

Es-tu à l'aise avec MySQL (phpmyadmin) ?

Link to comment
Share on other sites

mais est ce que tous les accès sont bien définis ? En fait le système des onglets est le suivant : ils sont définis dans la table ps_tab, et la table ps_access fait le lien entre les onglets et les groupes d'employés qui y ont accès.

Si une ligne (= un lien onglet / groupe) est manquant, alors on considère que l'accès est interdit. Donc ce qu'il faudrait voir, c'est quel onglets (AdminXXX) te sont interdits et est ce que la ligne adéquate est présente (ou pas) dans la table ps_access.

D'ailleurs, on devrait d'abord s'assurer que les valeurs sont présentes dans la table ps_tab (dans l'install de base je vois 88 onglets, selon db_settings_lite.sql).

Si il manque des choses dans ps_access, cette requête (qui est aussi dans db_settings_lite.sql) pourrait résoudre ton problème :

INSERT INTO `PREFIX_access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) (SELECT 1, id_tab, 1, 1, 1, 1 FROM PREFIX_tab);




Si ce n'est pas résolu on continuera demain, bonne nuit !

Link to comment
Share on other sites

j'ai bien les lignes suivante pour : index.php?tab=AdminGenerator

  
64    9    AdminGenerator                  10
80    9    AdminGenerator     NULL      10



2 occurences est-ce normal ?

J'attends ton retour demain matin :) pour savoir si je dois passer la commande ou pas.

Merci en tout cas de t'occuper de mon cas.

Bonne soirée.

Link to comment
Share on other sites

Mickael,

voici un export de la structure de la table ps_tab

--
-- Structure de la table `ps_tab`
--

CREATE TABLE IF NOT EXISTS `ps_tab` (
 `id_tab` int(10) unsigned NOT NULL auto_increment,
 `id_parent` int(11) NOT NULL,
 `class_name` varchar(64) NOT NULL,
 `module` varchar(64) default NULL,
 `position` int(10) unsigned NOT NULL,
 PRIMARY KEY  (`id_tab`),
 KEY `class_name` (`class_name`),
 KEY `id_parent` (`id_parent`),
 KEY `id_parent_2` (`id_parent`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=102 ;

--
-- Contenu de la table `ps_tab`
--

INSERT INTO `ps_tab` (`id_tab`, `id_parent`, `class_name`, `module`, `position`) VALUES
(1, 0, 'AdminCatalog', '', 1),
(2, 0, 'AdminCustomers', '', 2),
(3, 0, 'AdminOrders', '', 3),
(4, 0, 'AdminPayment', '', 4),
(5, 0, 'AdminShipping', '', 5),
(6, 0, 'AdminStats', '', 6),
(7, 0, 'AdminModules', '', 7),
(29, 0, 'AdminEmployees', '', 8),
(8, 0, 'AdminPreferences', '', 9),
(9, 0, 'AdminTools', '', 10),
(60, 1, 'AdminTracking', '', 1),
(10, 1, 'AdminManufacturers', '', 2),
(34, 1, 'AdminSuppliers', '', 3),
(11, 1, 'AdminAttributesGroups', '', 4),
(36, 1, 'AdminFeatures', '', 5),
(58, 1, 'AdminScenes', '', 6),
(66, 1, 'AdminTags', '', 7),
(68, 1, 'AdminAttachments', '', 8),
(12, 2, 'AdminAddresses', '', 1),
(63, 2, 'AdminGroups', '', 2),
(65, 2, 'AdminCarts', '', 3),
(42, 3, 'AdminInvoices', '', 1),
(55, 3, 'AdminDeliverySlip', '', 2),
(47, 3, 'AdminReturn', '', 3),
(49, 3, 'AdminSlip', '', 4),
(59, 3, 'AdminMessages', '', 5),
(13, 3, 'AdminStatuses', '', 6),
(54, 3, 'AdminOrderMessage', '', 7),
(14, 4, 'AdminDiscounts', '', 4),
(15, 4, 'AdminCurrencies', '', 1),
(16, 4, 'AdminTaxes', '', 2),
(17, 5, 'AdminCarriers', '', 1),
(46, 5, 'AdminStates', '', 2),
(18, 5, 'AdminCountries', '', 3),
(19, 5, 'AdminZones', '', 4),
(20, 5, 'AdminRangePrice', '', 5),
(21, 5, 'AdminRangeWeight', '', 6),
(51, 6, 'AdminStatsConf', '', 2),
(61, 6, 'AdminSearchEngines', '', 3),
(62, 6, 'AdminReferrers', '', 4),
(22, 7, 'AdminModulesPositions', '', 1),
(30, 29, 'AdminProfiles', '', 1),
(31, 29, 'AdminAccess', '', 2),
(28, 29, 'AdminContacts', '', 3),
(39, 8, 'AdminContact', '', 1),
(38, 8, 'AdminAppearance', '', 2),
(56, 8, 'AdminMeta', '', 3),
(27, 8, 'AdminPPreferences', '', 4),
(24, 8, 'AdminEmails', '', 5),
(26, 8, 'AdminImages', '', 6),
(23, 8, 'AdminDb', '', 7),
(48, 3, 'AdminPDF', '', 8),
(44, 8, 'AdminLocalization', '', 9),
(67, 8, 'AdminSearchConf', '', 10),
(32, 9, 'AdminLanguages', '', 1),
(33, 9, 'AdminTranslations', '', 2),
(35, 29, 'AdminTabs', '', 3),
(37, 9, 'AdminQuickAccesses', '', 4),
(40, 8, 'AdminAliases', '', 5),
(41, 9, 'AdminImport', '', 6),
(52, 9, 'AdminSubDomains', '', 7),
(53, 9, 'AdminBackup', '', 8),
(57, 9, 'AdminCMSContent', '', 9),
(64, 9, 'AdminGenerator', '', 10),
(43, -1, 'AdminSearch', '', 0),
(85, 7, 'AdminNewsletter', 'sendnewsletter', 2),
(87, 7, 'AdminModuleMenu', 'jbx_menu', 3),
(71, 2, 'AdminSuperUser', 'jbx_superuser', 4),
(75, 3, 'AdminMessages', NULL, 7),
(76, 1, 'AdminTracking', NULL, 8),
(77, 6, 'AdminSearchEngines', NULL, 4),
(78, 6, 'AdminReferrers', NULL, 4),
(79, 2, 'AdminGroups', NULL, 4),
(80, 9, 'AdminGenerator', NULL, 10),
(81, 2, 'AdminCarts', NULL, 4),
(82, 1, 'AdminTags', NULL, 8),
(83, 8, 'AdminSearchConf', NULL, 10),
(84, 1, 'AdminAttachments', NULL, 8),
(86, 1, 'AdminProductEdit', 'productedit', 12),
(88, 9, 'AdminInformation', '', 11),
(89, 29, 'AdminCustomerThreads', '', 4),
(90, 7, 'AdminAddonsCatalog', '', 4),
(91, 7, 'AdminAddonsMyAccount', '', 5),
(92, 8, 'AdminPerformance', '', 11),
(93, 7, 'AdminThemes', '', 6),
(94, 9, 'AdminWebservice', '', 12),
(95, 8, 'AdminGeolocation', '', 12),
(96, 9, 'AdminStores', '', 13),
(97, 4, 'AdminTaxRulesGroup', '', 3),
(98, 9, 'AdminLogs', '', 14),
(99, 5, 'AdminCounty', '', 7),
(100, -1, 'AdminHome', '', 1),
(101, 1, 'AdminStockMvt', '', 13);

Link to comment
Share on other sites

Minute papillon !

Alors déjà je vais me fâcher tout rouge, c'est Michaël avec une hache !

ça m'étonne pour l'astérisque, chez moi ça marche très bien

SELECT count(*) doublons, * FROM ps_tab GROUP BY class_name HAVING doublons>1 order by id_tab DESC



ensuite tu peux faire un delete from ps_tab where id_tab in (la liste que tu auras)

Link to comment
Share on other sites

cool, j'ai récupéré quelques droits mais j'ai perdu l'onglet generateur de fichier

voila les occurrences que j'ai maintenant, pourtant il est bien là AdminGenerator :(



(26, 8, 'AdminImages', '', 6),
(41, 9, 'AdminImport', '', 6),
(88, 9, 'AdminInformation', '', 11),
(42, 3, 'AdminInvoices', '', 1),
(32, 9, 'AdminLanguages', '', 1),
(44, 8, 'AdminLocalization', '', 9),
(98, 9, 'AdminLogs', '', 14),
(10, 1, 'AdminManufacturers', '', 2),
(59, 3, 'AdminMessages', '', 5),
(56, 8, 'AdminMeta', '', 3),
(87, 7, 'AdminModuleMenu', 'jbx_menu', 3),
(7, 0, 'AdminModules', '', 7),
(22, 7, 'AdminModulesPositions', '', 1),
(85, 7, 'AdminNewsletter', 'sendnewsletter', 2),
(54, 3, 'AdminOrderMessage', '', 7),
(3, 0, 'AdminOrders', '', 3),
(4, 0, 'AdminPayment', '', 4),
(48, 3, 'AdminPDF', '', 8),
(92, 8, 'AdminPerformance', '', 11),
(27, 8, 'AdminPPreferences', '', 4),
(8, 0, 'AdminPreferences', '', 9),
(86, 1, 'AdminProductEdit', 'productedit', 12),
(30, 29, 'AdminProfiles', '', 1),
(37, 9, 'AdminQuickAccesses', '', 4),
(20, 5, 'AdminRangePrice', '', 5),
(21, 5, 'AdminRangeWeight', '', 6),
(62, 6, 'AdminReferrers', '', 4),
(47, 3, 'AdminReturn', '', 3),
(58, 1, 'AdminScenes', '', 6),
(43, -1, 'AdminSearch', '', 0),
(67, 8, 'AdminSearchConf', '', 10),
(77, 6, 'AdminSearchEngines', NULL, 4),
(5, 0, 'AdminShipping', '', 5),
(49, 3, 'AdminSlip', '', 4),
(46, 5, 'AdminStates', '', 2),
(6, 0, 'AdminStats', '', 6),
(51, 6, 'AdminStatsConf', '', 2),
(13, 3, 'AdminStatuses', '', 6),
(101, 1, 'AdminStockMvt', '', 13),
(96, 9, 'AdminStores', '', 13),
(52, 9, 'AdminSubDomains', '', 7),
(71, 2, 'AdminSuperUser', 'jbx_superuser', 4),
(34, 1, 'AdminSuppliers', '', 3),
(35, 29, 'AdminTabs', '', 3),
(66, 1, 'AdminTags', '', 7),
(16, 4, 'AdminTaxes', '', 2),
(97, 4, 'AdminTaxRulesGroup', '', 3),
(93, 7, 'AdminThemes', '', 6),
(9, 0, 'AdminTools', '', 10),
(60, 1, 'AdminTracking', '', 1),
(33, 9, 'AdminTranslations', '', 2),
(94, 9, 'AdminWebservice', '', 12),
(19, 5, 'AdminZones', '', 4);
Link to comment
Share on other sites

Mais enfin ! Soit un peu patient quand même ! Surtout vu le nombre de message du forum sans réponse, là on en est à la 2eme page ! Je répond quand je reçois une notification et que je ne suis pas trop occupé à faire autrechose, sinon je répond plus tard ;) (Si il s'écoule plus d'une semaine là d'accord tu peux t'impatienter et même me relancer en mp).

Si AdminGenerator n'est toujours pas présent dans ta base de données (ps_tab et ps_tab_lang), ajoute le manuellement. puis ajoute une entrée adéquate dans table ps_access (tout à 1 sauf le champ id_tab qui doit contenir le meme id que AdminGenerator)

Link to comment
Share on other sites

Oui je veux bien mais je ne peux vraiment pas m'en occuper aujourd'hui. J'essaye de faire ça ce week-end si j'y pense et que je suis chez moi ;)

Sinon, renvoie moi un mp lundi pour me dire que je t'ai oublié ^^

Edit : ou sinon essaye d'appeler le support si ils ont le temps

Link to comment
Share on other sites

Hop, ce problème d'accès résolu, qui venait apparemment d'une mise à jour qui a mal tournée.

L'onglet était bien défini (id=80, AdminGenerator), mais rien n'y correspondait dans la table ps_tab_lang.

L'ajout d'une nouvelle entrée ne résolvait pas le problème car l'onglet était tout de même présent.

La requête sql suivante a résolu les problèmes, pour son cas particulier (seule la langue français présente);

INSERT IGNORE INTO `ps_tab_lang` (select id_tab, “2”, class_name from ps_tab) 



je crois avoir ajouté ça également:
INSERT IGNORE INTO `ps_access` (select "1", id_tab, "1", "1", "1", "1" from ps_tab where ps_tab="AdminGenerator")

Link to comment
Share on other sites

  • 1 month later...

Hop, ce problème d'accès résolu, qui venait apparemment d'une mise à jour qui a mal tournée.<br/><br/>L'onglet était bien défini (id=80, AdminGenerator), mais rien n'y correspondait dans la table ps_tab_lang.<br/><br/>L'ajout d'une nouvelle entrée ne résolvait pas le problème car l'onglet était tout de même présent.<br/><br/>La requête sql suivante a résolu les problèmes, pour son cas particulier (seule la langue français présente);<br/><br/>

INSERT IGNORE INTO `ps_tab_lang` (select id_tab, “2”, class_name from ps_tab) 

<br/><br/>je crois avoir ajouté ça également:<br/>INSERT IGNORE INTO `ps_access` (select "1", id_tab, "1", "1", "1", "1" from ps_tab where ps_tab="AdminGenerator")

 

 

 

Bonjour,

 

je rencontre les memes problemes d'"acces interdit" dans bon nombre d'onglet de l'admin sous le profil administrateur suite la maj.

est ce que la requete dont tu parles ci-dessus resoud tous ces problemes, ou faut il faire toutes les manipulations decrites au fur et a mesure ?

Merci d'avance

Link to comment
Share on other sites

Bonjour Powerbizz,

 

Cette requête permet d'ajouter les éléments dans la table "ps_tab_lang" afin que l'onglet soit utilisable (au moins) en français

INSERT IGNORE INTO `ps_tab_lang` (select id_tab, “2”, class_name from ps_tab) 

 

 

Ensuite celle ci permet d'ajouter les droits d'accès au profil administrateur concernant l'onglet "Generateurs".

INSERT IGNORE INTO `ps_access` (select "1", id_tab, "1", "1", "1", "1" from ps_tab where ps_tab="AdminGenerator")

 

 

Si ces deux manipulations ne suffisent pas, cela signifie qu'il y a des doublons dans ta base de données, que tu peux trouver de cette manière :

 

SELECT count(*) doublons, id_tab FROM ps_tab GROUP BY class_name order by id_tab desc HAVING doublons>1

 

 

 

delete from ps_tab where id_tab in ([une liste des id_tab trouvée plus haut et séparés par des virgules])

Link to comment
Share on other sites

Bonjour Powerbizz,

 

Cette requête permet d'ajouter les éléments dans la table "ps_tab_lang" afin que l'onglet soit utilisable (au moins) en français

INSERT IGNORE INTO `ps_tab_lang` (select id_tab, “2”, class_name from ps_tab) 

 

 

Ensuite celle ci permet d'ajouter les droits d'accès au profil administrateur concernant l'onglet "Generateurs".

INSERT IGNORE INTO `ps_access` (select "1", id_tab, "1", "1", "1", "1" from ps_tab where ps_tab="AdminGenerator")

 

 

Si ces deux manipulations ne suffisent pas, cela signifie qu'il y a des doublons dans ta base de données, que tu peux trouver de cette manière :

 

SELECT count(*) doublons, id_tab FROM ps_tab GROUP BY class_name order by id_tab desc HAVING doublons>1

 

 

 

delete from ps_tab where id_tab in ([une liste des id_tab trouvée plus haut et séparés par des virgules])

 

 

Je te remercie beaucoup pour ces explications, je vais regarder cela, j'espere que ca resoudra mes problemes, car du coup, je n'ai pas acces au htaccess, url rewriting ni autre...

Encore merci

Link to comment
Share on other sites

Bonjour,

 

J'ai le même problème, j'ai suivi attentivement la démarche.

J'ai enlevé les doublons dans la table ps_tab, ce qui a fait disparaitre les 2 onglets "paniers" et "generator" qui existaient auparavant mais avaient "acces interdit".`

Les 2 requetes indiquées me renvoient une erreur de syntaxe sur mysql :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT IGNORE INTO `ps_access` (select "1", id_tab, "1", "1", "1", "1" from ps_t' at line 2

 

Pour moi c'est du chinois !

 

Que faire ?

Merci de votre aide.

Link to comment
Share on other sites

mhhh ... quelle version de MySQL utilises tu ?

As tu essayé d'écrire les 4 instructions à la suite ?

 

essaye de mettre un ";" devant

 

 

PS : pour éviter les "&quot", fais avant un coller ailleurs (genre dans la barre d'adresse) puis resélectionne et re coupe afin de "perdre" le html. Ou sinon, utilise les balises [ code ] ;)

 

 

Note : ah, peut etre qu'il faut enlever les parenthèses .. ?

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...