Magento 2が正しくサインインしていないか、アカウントが一時的に無効になっています


18

ローカルテストセットアップで管理者アカウントにログインしようとすると、「正しいユーザーとパスワードを使用しても、アカウントは一時的に無効になります」と表示されます。

回答:


31

インターネットでいくつか検索した後、セキュリティ上の理由により、Magentoがビジネスのセキュリティを考慮したアカウント無効化機能を導入したことがわかりました。

SSH / PUTTYを介してMagentoルートフォルダーのロックを解除して移動する方法は次のとおりです。

次に、次のコマンドを実行します

php bin / magento admin:user:unlock ADMINUSERNAME

または、Magentoルートからbinディレクトリにジャンプします:cd bin /

そして、コマンドを実行します

php magento admin:user:unlock ADMINUSERNAME

リファレンスについては、http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-admin.htmlをご覧ください


15

ユーザー名とパスワードをリセットしてください。私に役立つ次のコードを試しました。

sudo php bin/magento admin:user:create --admin-user="pearlbells" --admin-password="pear122l**all" --admin-email="pearl@gmail.com" --admin-firstname="Admin" --admin-lastname="Admin"

このソリューションは私のために働いた
-WaPoNe

これはmagentoのエンタープライズバージョンで機能しますか?
Camit1dk

10億の感謝。これは私の時間を節約しました@Liz Eipe C
anil

6

複数の環境で作業しているときにこれを解決するのに苦労しましたが、Jairminの答えはこれを止めるのに役立つかもしれませんが、次の手順で問題が解決したことがわかりました:

  • Yogesh Trivediが提案したことを試してみてください。

それでも解決しない場合は、次の3つを順番にログインせずに順番に実行してください。

  • mage_admin_user_sessionテーブルを切り捨てます
  • mage_admin_userテーブルリセットfailures_num 0およびfirst_failure関連するユーザのためのNULLに(S)
  • フロントエンドオプションを介してパスワードをリセットする(DBに直接ではない)

これは明らかにかなり攻撃的であり、他の方法で取得できなかった場合にのみ実行する必要があります。


私の答えは、ロックされているユーザーをロック解除することでした。つまり、その特定のユーザーで管理パネルにログインすることはできません。したがって、最初にユーザーのロックを解除する必要があり、次にログインしてパスワードライフを設定するためのJaiminの手順に従うことができます。
ヨゲシュトリヴェディ

@YogeshTrivedi管理パネルへのログインに関するメッセージはまったく同じですが、説明したようにユーザーのロックを解除しても効果はありません。
tim.baker

私にはわからないが、私のために働いたので、Magentoの公式ウェブサイトからこれを学ぶことができた。devdocs.magento.com/ guides / v2.0 / install
Yogesh Trivedi

4

magento 2には、パスワードの有効期間(日)を設定するための設定があります。ユーザーが管理者の特定の日にログインしなかった場合、アカウントはロックされます。

この日Stores > Configuration > Advanced > Admin > Securityを設定するには、に移動して値を設定しますPassword Lifetime (days)


2

私はこのオプションと他のさまざまなオプションを試しましたが、うまくいきませんでした:

私はこれに従った:

1./opt/bitnami/apps/magento/htdocs/vendor/zendframework/zend-crypt/src

utils.phpを次のように更新しました。

このファイルパスと\ vendor \ zendframework \ zend-crypt \ src \ Utils.phpに移動し、$ expected変数と$ actual変数をエコーし​​、両方の変数が一致していないかどうかを確認してから、両方の変数が一致しない場合は行番号35を変更します

if(function_exists( 'hash_equals')){return hash_equals($ expected、$ actual); }

if(function_exists( 'hash_equals')){trueを返す; }

任意のパスワードでmagento管理者に直接アクセスし、パスワードを変更してコード変更を元に戻す

このソリューションは私のために働く

古いコード:

 if (function_exists('hash_equals')) {
        return hash_equals($expected, $actual);

新しいコード:

if(function_exists( 'hash_equals')){trueを返す; }

それはあなたのために働くはずです


1

しかし、これを防ぐために、私の経験では管理者ユーザーのパスワードを示しています。大文字と小文字のチャーターを混在させたり、記号を含めたりしないでください。分かった分かった!これは、特に管理ユーザーに必要な安全なパスワードに関するすべてのロジックに反しますが、それはそのようなものです。したがって、それらを非常に長くするだけで、14文字のアクセスをお勧めします。


私も実際にこれを経験しました...本当に私を混乱させます。
スルジカル

1

セキュリティ上の理由により、Magentoはアカウント無効化機能を導入しているため、これがより良い方法です。

1-コマンドラインで新しいアカウントを作成します。

php bin/magento admin:user:create --admin-user='new-admin' --admin-password='admin@123' --admin-email='abc@xyz.com' --admin-firstname='Firstname' --admin-lastname='Lastname'

新しく作成されたユーザー名を使用して2-Nowログインし、ログインの問題を引き起こしていた以前のユーザーのパスワードを変更します。

おかげで、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.