Magento 2에서 분실 한 관리자 비밀번호를 재설정하는 방법은 무엇입니까?


42

admin_user 테이블에서 Phpmyadmin을 통해 관리자 비밀번호를 재설정하려고 시도했지만 작동하지 않는 것 같습니다. 또한 크롬에서 관리자 페이지를로드 할 때 "이 웹 페이지에 리디렉션 루프가 있습니다"오류가 발생합니다.


1
리디렉션과 관련하여 xdebug가 활성화 xdebug.max_nesting_level=200되어 있으면 php.ini에 있는지 확인하십시오 . 설정하지 않으면 관리자 로그인 페이지가 표시 될 수 있지만 (네스트 레벨이 해당 페이지의 기본 100보다 작기 때문에) 신임 정보를 입력하고 로그인을 시도하면 대시 보드를 렌더링 할 수 없습니다 (네 스팅 레벨이 기본값보다 큼) 거기에 100). 쿠키 문제를 피하려면 "localhost"가 아닌 일부 가상 호스트를 사용해야합니다.
Alex Paliarush 2016

대시 보드 아이콘 / 스타일이 제대로로드 / 렌더링되지 않았습니다. 이것은 xdebug 때문입니까? php.ini에서 xdebug를 올바르게 설정하는 방법을 공유 할 수 있습니까
Dev

xdebug.max_nesting_level=200XDebug가 활성화되어 있다면 php.ini 설정에 추가 하십시오.
Alex Paliarush


이 답변은 magento.stackexchange.com/a/137562/27907에 도움이 되며 해시 된 비밀번호를 생성하려면 xorbin.com/tools/sha256-hash-calculator
wk

답변:


88

Magento CLI를 사용하여 다음 명령으로 새 관리자를 생성 한 다음 원래 사용자의 암호를 변경하고 변경할 수 있습니다.

magento 설치 루트에서 이것을 실행하십시오 :

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

CLI없이 다른 방법은 없습니까? 내 컴퓨터에 Magerun을 설치하여 시도했습니다 (CLI의 초보자입니다). 내 명령은 다음과 같습니다. '<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
magento의 경로는 php가 아닌 "bin / magento"앞에옵니다. 또한 실제 명령에서 대괄호를 제거하십시오.
Alex Paliarush

관리자가 성공적으로 생성했으며 로그인 대시 보드에 생성 된 세부 정보를 사용했지만 작동하지 않습니다. 동일한 로그인 페이지를 유지하십시오.
Dev

4
오직 신만이 그들이 왜 대괄호를 넣었는지 알고있다.
MagenX

1
@ MagenX- 대괄호는 명령의 도움말 메시지에서 이러한 인수가 선택 사항 임을 알리는 일반적인 방법입니다 . 실제로 꽤 표준 입니다.
nevvermind

29

아래 쿼리를 실행하여 데이터베이스를 지시하십시오.

예는 admin 사용자의 비밀번호 재설정에 대한 것 입니다.

업데이트 admin_user SET`password` = SHA2 ( ' NewPassword ', 256) 어디서`username` = ' admin ';

NewPassword : 비밀번호로 바꿉니다.

나는 그것이 당신을 위해 작동하기를 바랍니다. 어려움이 있으면 알려주세요.


참고로; CONCAT와 소금은 필요하지 않습니다. v. 2.1.7
simonthesorcerer

Magento 2.3에서는 작동하지 않았으며 소금 등이 필요합니다
Qtax

1
동일한 비밀번호를 반복해서 입력 한 경우에도 "lock_expires"필드를주의하십시오.
KolonUK

15

다음과 같이 등호 나 대괄호가 없어야합니다.

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

이것은 나를 위해 일한 유일한 사람입니다
jfoutch

10

다음 SQL 쿼리를 실행하여 관리자 비밀번호를 재설정하십시오.

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

개발을 위해 간단한 관리자 비밀번호를 설정할 수 있도록 Magento 2.3의 비밀번호 요구 사항을 해결할 수있는 유일한 방법이었습니다. n98-magerun23.0.4 관리자 암호 요구 사항을 피할 수 없습니다.
Qtax

Magento 2.2.5에서 작업하고 "lock_expires"를 NULL로 설정
KolonUK

9

N98-Magerun 이라는 훌륭한 도구가 있습니다.

기본적으로 Magento 프로젝트의 루트에 직접 다운로드합니다.

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

다음 실행 권한 설정 (UNIX 사용자 만 해당)

chmod +x ./n98-magerun2.phar

이제 달릴 때

php n98-magerun2.phar

도구에서 제공하는 모든 사용 가능한 명령 목록이 표시됩니다.

이제 잊어 버린 관리자 암호를 재설정하려면 먼저 관리자의 사용자 이름을 얻어서 실행할 수 있어야합니다.

php n98-magerun2.phar admin:user:list

사용 가능한 모든 관리자 목록을 제공하며 출력은 다음과 같습니다.

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

이제 비밀번호를 재설정하려면

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

관리자의 사용자 이름과 해당 사용자의 새 비밀번호를 묻는 메시지가 표시됩니다.

Username:admin
Password:123456
Password successfully changed

도움이 되었기를 바랍니다.


Bitnami 테스트 서버에서 이것을 실행할 수 없었습니다. SQL은 나를 위해 갈 수있는 유일한 방법이었습니다.
KolonUK

4

긴 문자열 빈 / 마 젠토를 기억하는 것이 싫습니다 ...

만지는 것을 좋아하는 사람을위한 해결책은 다음과 같습니다.

이 코드를 pub / index.php에 넣으십시오

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

모든 페이지의 바닥 글을보십시오. 여기에 이미지 설명을 입력하십시오

해당 코드를 복사하고 phpmyadmin으로 이동하십시오.

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

BTW. admin : user : create를 사용하면 재설정 암호 질문입니다. 재설정 또는 생성하지만 Uhm ... 정확하지 않습니다.


2
공개적으로 공개 된 웹 사이트에서 실제로는 안전하지 않을 것입니다 ... n98-magerun2를 다운로드 n98-magerun2.phar dev:console하여 코드를 실행 하고 실행할 수도 $di->get("\Magento\Framework\Encryption\Encryptor")->getHash("yourpass");있습니다.n98-magerun2.phar admin:user:change-password
7ochem

2

Alex의 대답을 언급하면 ​​약간의 수정으로 작동합니다. M2 설치 폴더로 이동 한 다음 아래 코드를 실행해야합니다.

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

폴더 /앞에는 필요하지 않지만 전체 "문장"앞에는 명령 bin이 필요합니다 php.

패스 생성은 나를 위해 일했지만 관리자 페이지는 나를 로그인하지 않았습니다 : /


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'

내 질문을 편집했습니다. 비밀번호를 잊어 버린 경우 어떻게해야합니까?
Dev

0

데이터베이스 액세스를 열고 아래 쿼리를 누르십시오.

업데이트 admin_user SET 비밀번호 = CONCAT (SHA2 ( 'yournewpassword', 256), ': xxxxxxx : 1') WHERE username = 'yourusername';

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.