如果忘记ECCUBE4系统管理屏幕的密码该怎么办

朋友您好,这是eccuber的东北小伙儿。

疫情当前,全民防范,众志成城,不串门不聚餐,不给疫情防控添堵添麻烦,保护自己与家人,请大家注意身体状况。

突然之间,您是否曾经忘记了管理员屏幕密码并急于求助?

现在,我想解释一下如果您忘记了EC-CUBE4系列管理屏幕上的密码该怎么办。

我将编辑ECCUBE的内容,但是为了便于理解,我将使用图像对其进行解释,因此我认为即使是那些认为“我不是开发人员”的人也可以放心地这样做。

 

要编辑的文件

/app/config/eccube/packages/eccube.yaml

/src/Eccube/Form/Type/Admin/ChangePasswordType.php

流程

1.将eccube_auth_type更改为“ PLAIN”

*可能有必要删除/ var/cache/prod下的所有缓存。
将 /app/config/eccube/packages/eccube.yaml 中 eccube_auth_type
更改
eccube_auth_type:将eccube.yaml第26行附近描述的HMAC从HMAC更改为
PLAIN
并保存。

实际代码如下。(在目标行之前和之后列出)

# EC-CUBE parameter
eccube_database_url: '%env(DATABASE_URL)%'
eccube_mailer_url: '%env(MAILER_URL)%'
eccube_admin_route: '%env(ECCUBE_ADMIN_ROUTE)%'
eccube_user_data_route: '%env(ECCUBE_USER_DATA_ROUTE)%'
eccube_admin_allow_hosts: '%env(json:ECCUBE_ADMIN_ALLOW_HOSTS)%'
eccube_force_ssl: '%env(bool:ECCUBE_FORCE_SSL)%'
eccube.theme: '%env(ECCUBE_TEMPLATE_CODE)%'
eccube_theme_code: '%eccube.theme%'
eccube_auth_magic: '%env(ECCUBE_AUTH_MAGIC)%'
eccube_auth_type: HMAC → PLAINに変更
eccube_password_hash_algos: SHA256
eccube_theme_app_dir: '%kernel.project_dir%/app/template'
eccube_theme_src_dir: '%kernel.project_dir%/src/Eccube/Resource/template'
eccube_theme_user_data_dir: '%eccube_theme_app_dir%/user_data'

2.复制login_id和密码

访问数据库。
访问后,从表dtb_member复制目标管理员的“ login_id”和“ password”。
*请按照以下步骤登录。

此处,login_id为“ demo”,
密码为“ 9296503d…………。” *这是一个加密的字符串。

3.在管理屏幕上登录时,使用login_id和加密的密码登录。

输入您在步骤2中复制的login_id和密码,然后按“登录”按钮。

4.将步骤1中的eccube_auth_type返回给HMAC

如果您可以在步骤3中登录,则将在步骤1中修改的eccube.yaml的PLAIN返回到原始的“ HMAC”。

5.在ChangePasswordType.php的第52行附近,注释掉“ new UserPassword()”。

请在/src/Eccube/Form/Type/Admin/中的“ ChangePasswordType.php”的第52行附近注释掉“ new UserPassword()”。

实际代码如下。(在目标行之前和之后列出)

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('current_password', PasswordType::class, [
                'label' => 'changepassword.label.current_pass',
                'constraints' => [
                    new Assert\NotBlank(),
//                  new UserPassword(),
                ],
            ])
            ->add('change_password', RepeatedType::class, [
                'first_options' => [
                    'label' => 'changepassword.label.new_pass',
                ],
                'second_options' => [
                    'label' => 'changepassword.label.verify_pass',
                ],

6.清除缓存

从管理屏幕>内容管理>缓存管理中删除缓存。

*如果不删除高速缓存,则可以在描述为“普通”的状态下读取高速缓存(在步骤4中进行更改之前),并且可以更改密码,但是输入的密码将原样注册在数据库中。

请注意这是因为您在步骤4中返回了HMAC,但是缓存中写有“ PLAIN”,因此缓存被缓存,并且由于ECCUBE4的配置,可能会读取缓存。

7.从管理屏幕更改密码。

当您在管理屏幕右上角按XX时,将显示“更改密码”,从那里:-“当前密码”->使用在步骤2中复制的密码-“新密码”->输入任何密码..

8.取消注释步骤5

删除在步骤5中添加的注释

9.确认

请注销并使用新注册的密码登录。
我认为您可以登录。
另外,检查数据库中的dtb_member,它将使用与在步骤2中复制的字符串不同的字符串进行注册(不是新注册的密码,而是枚举字母数字字符的加密字符串)。

如果是这样,则响应完成,就这些。

ok。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值