up previous next contents
Up: Use Cases Previous: Enable/Disable Security Next: Creating a New ACME   Contents


Become Administrator

This use case describes the process where any user - besides the Administrator - can attempt to become the Administrator. The motivation for this is:

  1. It is preferred by ACME that the Login screen not be displayed when security is disabled
  2. This leads to a condition where a user cannot login as the Administrator (because there is no Login screen) when security is disabled
  3. Therefore, this use case is a workaround for not having a login screen but also needing to have an Administrator log in

Notes

  1. This use case is the same whether security is enabled or disabled
  2. ISSUE: This use case affects only the Editor (frame, or session) currently under consideration; if the user has multiple Editors (sessions) open at the same time, those other Editors are not affected by this change
  3. Administrator login attempts are not logged

Actors

  1. External user

Pre-Conditions

  1. The user is logged into the system
  2. Security may be enabled or disabled
    1. The difference here is that the original user id is either a real user like "Ralph" (if security is enabled) or the user will be the user "Nobody" (if security is disabled)

Basic Path: Become Administrator

  1. The user selects an option to "Become Administrator"
  2. If the system detects that an Administrator is already logged in:
    1. The system notifies the user of this condition (i.e., "The Administrator is already logged in, and can only log in once.")
    2. The use case stops here
  3. The system prompts the user for the Administrator password
  4. If the password is invalid, the user is informed of this
    1. (There are no limits on the number of login attempts)
  5. If the password is correct, continue
  6. If the user does not have a current job open, continue
  7. If the user has a current job open, and the job is clean:
    1. The system closes the job; continue
  8. Else, if the user has a current job open, and the job is dirty:
    1. The system prompts the user to save their information ("Save your changes - yes, no, cancel?")
      1. If the user selects Cancel, this operation is stopped
      2. If the user selects No, their changes are discarded; continue
      3. If the user selects Yes, their changes are saved; continue
    2. The system closes the job
  9. The system changes the internal state of the program so that it is just as though the Administrator has just logged in, except:
    1. The system remembers who the user was before they became Administrator
  10. If the username is displayed on screen, such as in a status bar, the username is changed to "Administrator"
  11. The user performs their administrative functions ...
  12. The user attempts to switch back to their previous identity
  13. They are returned to their previous identity

Post-Conditions

  1. The user has all the permissions of the Administrator
  2. The system marks any database actions as being performed by the Administrator
  3. The user can "switch back" to their original user id

"Used" Use Cases

  1. See the "External User Login" use case for the Administrator for the Administrator's initial login conditions regarding the Navigator and menu items that are enabled

Other Requirements

  1. A user cannot become the Administrator and then become another user
    1. An Administrator cannot become any other user at any time; only when this sequence of steps is followed can they switch back to being their original identity
    2. Note - that is not the intent of this use case
    3. The "Switch User" option is only available to non-Administrator users
    4. The "Switch Back" option is only available to the Administrator when they used the "Become Administrator" option to become the Administrator
  2. If the user originally logged in as Administrator, the "Switch to Administrator" and "Switch Back" options are not available