Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-519

Ability to Reset ROOT password to access Admin Console

    XMLWordPrintable

    Details

    • Type: Feature Request
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.3-B1
    • Fix Version/s: 5.2.0-B1
    • Component/s: Admin Interfaces
    • Labels:
      None
    • Additional information:
      Hide

      Plan:
      1. create new ROOT.RESET.PASSWORD email event (Type = Admin); see other email events with this type to determine what values should be placed in other fields
      2. export newly created record from Events table into install/upgrades.sql and install/install_data.sql (make sure, that there are no translatable columns present in insert statement, see other events in install_data.sql to get idea)
      3. Event text could be: "Your new password is: <inp2:m_Get name="root_password"/>"
      1. create u:OnResetRootPassword event, that would use

      • kUtil::generatePassword method to generate new password
      • kPasswordFormatter::EncryptPassword with proper salt (see user event handler) to encrypt password
      • kApplication::SetConfigValue to change RootPass configuration variable value
      • send newly create e-mail event to admin via kApplication::EmailEventAdmin method
      • do $event->SetRedirectParam('reset', 1)
        4. in UsersEventHandler::CheckPermission method allow that event execution only, when DBG_RESET_ROOT constant is defined & set (e.g. defined('DBG_RESET_ROOT') && DBG_RESET_ROOT)
        5. add a "Reset "root" password" link (will be a phrase) under admin login form, when DBG_RESET_ROOT constant is defined & set
        6. once link from above is clicked, then call u:OnResetRootPassword event
        7. add a check for "reset" url parameter via m_if tag to login template and display nice alert message, like "Your "root" password has been reset. Please remove DBG_RESET_ROOT constant and check your e-mail address."
        8. do language pack export & merge to install/english.lang
        9. do install/upgrade to verify that database content after upgrade/install will match the on you've create right now

      ------------
      Hours:
      1. new e-mail event - 1 h
      2. new event - 0.5 h
      3. template modifications - 0.5 h
      4. install/upgrade/export stuff - 1 h


      total: 3 h

      Show
      Plan: 1. create new ROOT.RESET.PASSWORD email event (Type = Admin); see other email events with this type to determine what values should be placed in other fields 2. export newly created record from Events table into install/upgrades.sql and install/install_data.sql (make sure, that there are no translatable columns present in insert statement, see other events in install_data.sql to get idea) 3. Event text could be: "Your new password is: <inp2:m_Get name="root_password"/>" 1. create u:OnResetRootPassword event, that would use kUtil::generatePassword method to generate new password kPasswordFormatter::EncryptPassword with proper salt (see user event handler) to encrypt password kApplication::SetConfigValue to change RootPass configuration variable value send newly create e-mail event to admin via kApplication::EmailEventAdmin method do $event->SetRedirectParam('reset', 1) 4. in UsersEventHandler::CheckPermission method allow that event execution only, when DBG_RESET_ROOT constant is defined & set (e.g. defined('DBG_RESET_ROOT') && DBG_RESET_ROOT) 5. add a "Reset "root" password" link (will be a phrase) under admin login form, when DBG_RESET_ROOT constant is defined & set 6. once link from above is clicked, then call u:OnResetRootPassword event 7. add a check for "reset" url parameter via m_if tag to login template and display nice alert message, like "Your "root" password has been reset. Please remove DBG_RESET_ROOT constant and check your e-mail address." 8. do language pack export & merge to install/english.lang 9. do install/upgrade to verify that database content after upgrade/install will match the on you've create right now ------------ Hours: 1. new e-mail event - 1 h 2. new event - 0.5 h 3. template modifications - 0.5 h 4. install/upgrade/export stuff - 1 h total: 3 h
    • Change Log Message:
      Added ability to reset Root password
    • Story Points:
      1
    • External issue ID:
      657
    • Copy Issue Key:
    • Patch Instructions:

      Patches must be submitted through Phabricator.

      Description

      I think it's time to think and implement the ability to reset ROOT
      password by email or something else.

      We are coming across this issue from time to time. I know can change
      it by hand directly in DB, but it's not the easiest way for users so
      we should come up with easy and save way of doing it.

      My proposal is:

      When DBG_RESET_ROOT option is enabled (new - needs to be added) we can
      show additional Link right below Login form which will email the
      password to website administrator (email specified as main email
      address for the website).

      Since password for ROOT user is not lost on a daily basis this should
      do the work.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alex Alex
                Reporter:
                dmitry Dmitry Andrejev [Intechnic]
                Developer:
                Alex
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: