Come resettare la password dell'amministratore persa in Magento 2?


42

Ho provato a reimpostare la password dell'amministratore tramite Phpmyadmin nella tabella admin_user ma questo non sembra funzionare. Anche su Chrome viene visualizzato l'errore "Questa pagina Web ha un ciclo di reindirizzamento" durante il caricamento della pagina di amministrazione.


1
Per quanto riguarda i reindirizzamenti, assicurati che se hai xdebug abilitato, allora c'è xdebug.max_nesting_level=200php.ini. Se non è impostato, è possibile che venga visualizzata la pagina di accesso dell'amministratore (poiché il livello di annidamento è inferiore al valore predefinito 100 in quella pagina), ma quando si immettono le credenziali e si tenta di accedere, il dashboard non può essere visualizzato (il livello di annidamento è superiore al valore predefinito 100 lì). Assicurati anche di utilizzare un host virtuale, non "localhost", per evitare problemi con i cookie.
Alex Paliarush,

Le icone / lo stile della dashboard non sono stati caricati / renderizzati correttamente sarà dovuto a xdebug? Puoi condividere come impostare correttamente xdebug su php.ini
Dev

Aggiungi xdebug.max_nesting_level=200alla tua configurazione php.ini se hai XDebug abilitato.
Alex Paliarush,


questa risposta dovrebbe aiutare magento.stackexchange.com/a/137562/27907 e per generare la password con hash è possibile utilizzare xorbin.com/tools/sha256-hash-calculator
sett

Risposte:


88

Puoi usare l'interfaccia della riga di comando di Magento per creare un nuovo utente amministratore con il seguente comando, quindi puoi andare e cambiare la password dell'utente originale.

Eseguire questo dalla radice dell'installazione di Magento:

php bin/magento admin:user:create --admin-user="admin" --admin-password="123123q" --admin-email="admin@example.com" --admin-firstname="Admin" --admin-lastname="Admin"

Nessun altro modo senza CLI? Ho provato a farlo installando Magerun sul mio computer (sono un principiante della CLI). Il mio comando è come di seguito, '<path_to_magento> php bin / magento admin: user: create [--admin-user = "dave"] [--admin-password = "admin123"] [--admin-email = "admin1 @ localhost.com "] [--admin-firstname =" dave "] [--admin-lastname =" maritus "] '
Dev

1
Il percorso verso magento dovrebbe precedere "bin / magento", non prima di php. Rimuovere anche le parentesi quadre dal comando effettivo.
Alex Paliarush,

Utente amministratore creato correttamente, ho usato i dettagli creati per accedere alla dashboard ma non funziona, rimani sulla stessa pagina di accesso.
Dev

4
solo Dio sa perché hanno messo parentesi quadre ...
MagenX,

1
@MagenX - Le parentesi quadre sono un modo convenzionale per i messaggi di aiuto di un comando per dirti che quegli argomenti sono opzionali . In realtà è piuttosto standard .
nevvermind,

29

Esegui sotto query per indirizzare il database.

Un esempio è per reimpostare la password per l' utente amministratore .

UPDATE admin_user SET `password` = SHA2 (' NewPassword ', 256) DOVE` username` = ' admin ';

NewPassword : sostituiscilo con la tua password.

Spero che funzionerà per te. Fammi sapere se hai qualche difficoltà.


FYI; il CONCAT e il sale non sono necessari. v. 2.1.7
simonthesorcerer

Non ha funzionato per Magento 2.3, ha bisogno di sale, ecc.
Qtax

1
inoltre, fai attenzione al campo "lock_expires" se hai ripetuto provato la stessa password errata ...
KolonUK

15

Non dovrebbero esserci segni uguali o parentesi quadre come questa:

php bin/magento admin:user:create --admin-user mys_username --admin-password mypass123 --admin-email my@email.com --admin-firstname john --admin-lastname cage

Questo è l'unico che ha funzionato per me
jfoutch,

10

Eseguire le seguenti query SQL per reimpostare la password dell'amministratore:

SET @salt = MD5(UNIX_TIMESTAMP());
UPDATE admin_user SET password = CONCAT(SHA2(CONCAT(@salt, 'MyNewPassword'), 256), ':', @salt, ':1') WHERE username = 'admin';

Era l'unico modo per aggirare i requisiti di password in Magento 2.3, per poter impostare una semplice password amministratore per lo sviluppo. n98-magerun23.0.4 non ha permesso di evitare i requisiti della password dell'amministratore.
Qtax

Ha funzionato in Magento 2.2.5, oltre a impostare "lock_expires" su NULL
KolonUK il

9

C'è uno strumento molto carino là fuori chiamato N98-Magerun

Fondamentalmente, lo scarichi direttamente nella radice del tuo progetto Magento

wget https://files.magerun.net/n98-magerun2.phar

Successivamente imposta le autorizzazioni eseguibili (solo per utenti UNIX)

chmod +x ./n98-magerun2.phar

Adesso quando corri

php n98-magerun2.phar

Verrà visualizzato un elenco di tutti i comandi disponibili offerti dallo strumento.

Ora, per reimpostare prima la password di un utente amministratore dimenticato, è necessario ottenere il nome utente dell'utente admin, per poter eseguire

php n98-magerun2.phar admin:user:list

Questo ti fornirà un elenco di tutti gli utenti admin disponibili, l'output avrà un aspetto simile

+----+-----------------+-------------------------------+--------+
| id | username        | email                         | status |
+----+-----------------+-------------------------------+--------+
| 1  | admin           | admin@example.com             | active |
| 2  | nextadmin       | nextadmin@example.com         | active |
+----+-----------------+-------------------------------+--------+

Ora per reimpostare la password che facciamo

php n98-magerun2.phar admin:user:change-password

Ti verrà richiesto il nome utente dell'utente amministratore e la nuova password per quell'utente.

Username:admin
Password:123456
Password successfully changed

Spero che sia di aiuto.


Non riesco a farlo funzionare nel mio server di test Bitnami - SQL è stato l'unico modo per me.
KolonUK,

4

Odio ricordare bin / magento a corda lunga ...

Ecco la soluzione per chiunque voglia toccare:

metti questo codice in pub / index.php

\Magento\Framework\App\ObjectManager::getInstance()->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");

Guarda il piè di pagina di anypage: inserisci qui la descrizione dell'immagine

Copia quel codice e vai su phpmyadmin:

update admin_user set password = '<code above>' where username='admin';

BTW. Questa è la domanda di reimpostazione della password se usi admin: user: crealo reimposta o crea ma Uhm ... Non esattamente.


2
Questo non sarebbe davvero sicuro da fare in un sito Web aperto pubblicamente ... Puoi anche scaricare n98-magerun2 ed eseguire n98-magerun2.phar dev:consoleed eseguire il codice lì: $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");o semplicemente usaren98-magerun2.phar admin:user:change-password
7

2

Riferendosi alla risposta di Alex funziona con una piccola modifica. Devi navigare nella cartella di installazione di M2, quindi eseguire il codice seguente:

php bin/magento admin:user:create --admin-user=admin --admin-password=admin123 --admin-email=admin@magento.tld --admin-firstname=admin --admin-lastname=admin

Non è necessario /prima della bincartella, ma è necessario il phpcomando prima dell'intera "frase".

La generazione del pass ha funzionato per me, ma la pagina di amministrazione non mi ha effettuato l'accesso: /


0
 1. login to magento 2 admin.
 2. Go to system > All Users.
 3. Select your User
 4. reset password from 'User Info' > 'Account Information'

Ho modificato la mia domanda. cosa succede se lo facciamo quando abbiamo perso una password.
Dev

0

Basta aprire l'accesso al database e selezionare la query seguente

AGGIORNA admin_user SET password = CONCAT (SHA2 ('yournewpassword', 256), ': xxxxxxx: 1') WHERE username = 'nomeutente';

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.