誤って管理者ユーザーを削除してしまった場合の対処方法

問題

  • カスタマイズが原因で、誤って管理者ユーザーを削除してしまいました。
  • どのように対処すれば良いですか。

環境

  • DXP 7.0+

解決

  • 初回起動時のセットアップウィザードを再表示して、管理者ユーザーを再登録する方法。
    ローカル環境の場合:
    1. Liferayをシャットダウンします
    2. LIFERAY_HOME/portal-setup-wizard.propertiesを開き、「setup.wizard.enabled=true」と設定します
    3. Liferayを再起動します
    4. セットアップウィザードが表示されるので、ユーザー名・パスワードを再設定します
    5. Liferayをシャットダウンします
    6. LIFERAY_HOME/portal-setup-wizard.propertiesを開き、「setup.wizard.enabled=false」と設定します
    7. Liferayを再起動します
     
    DXPC環境の場合
    1. Service>Liferay>Environment Valiables を開きます
    2. Keys: LIFERAY_SETUP_PERIOD_WIZARD_PERIOD_ENABLED Values: trueを登録します
    3. Liferayサービスを再起動します
    4. セットアップウィザードが表示されるので、ユーザー名・パスワードを再設定します
    5. 手順2で登録した環境変数を削除します
    6. Liferayサービスを再起動します
  • 一般ユーザーが存在する場合、データベース上のユーザーに対し、直接Administrator権限を付与する方法。
    ※Liferayは、データベースの直接編集を推奨しません。
    また、直接編集によって発生した問題つきましては、サポートの対象外となります。
     
    以下に記載する内容は、トラブルシューティングとしてご案内しますが、本来は推奨されない方法です。
    よくご検討の上、お客様の裁量で実施してください。
     
    当該インスタンスのCompanyIdを取得します。
    CompanyIdは、Companyテーブル上で確認できます。
     
    User_テーブルから、インスタンス上に存在するユーザーを確認します。
    select * from user_ where companyId=XXXXX;
     
    Role_テーブルから、インスタンス上のAdministrator権限のIDを取得します。
    companyIdは、取得したIDに置き換えます。
    select * from role_ where companyId=XXXXX and name ='Administrator';
     
    Users_Rolesテーブルに、レコードを挿入します。
    CompanyId,RoleId,UserIdは、それぞれ実際に取得した値に置き換えます。
    insert into Users_Roles values (CompanyId, RoleId, UserId, 0, NULL);
この記事は役に立ちましたか?
1人中0人がこの記事が役に立ったと言っています