up previous next contents
Up: Requirements Previous: Requirements Next: Database Requirements   Contents


External User Login and Access Control Requirements

For users external to PPC, the behavior of the Access Control System is defined in the following sections.

Access Control Requirements, General Behavior

This section describes the general behavior of the access control system, regardless of whether access control is enabled, or not.

  1. For external users, enabling of "access control" is optional
  2. The access control system can be enabled or disabled at any time, including:
    1. Initial application installation
    2. Later application use
  3. Access control applies to all users
    1. If enabled, all users will be limited by their group assignments
    2. If disabled, all users have free access to system resources
  4. Initial user accounts
    1. ACME will ship with two initial user accounts:
      1. Administrator
      2. Unknown User
    2. These two initial user accounts cannot be deleted
  5. Administrator account
    1. The Administrator user is in a group also named Administrator
    2. Regardless of whether security is enabled, there will always be an administrative user
    3. The administrator of external security will have the username "Administrator"
    4. The password for this account is initially "admin"
    5. A password for this account is mandatory
    6. The password for this account can be changed only by the Administrator
    7. The Administrator user account cannot be deleted or edited
    8. The Administrator group cannot be deleted or edited
  6. Unknown User account
    1. The Unknown User user is in a group named Unknown User
    2. The Unknown User user cannot be deleted or edited
    3. The Unknown Group group cannot be deleted or edited
    4. The Unknown Group group has full access to all functional areas other than User and Group management
    5. Users cannot log in as the user Unknown User when security is enabled
  7. CRUDing User Accounts
    1. The Administrator is the only user that can add, delete, and edit user account information
    2. All users can view usernames, group names, group members, and group rights without restriction.
  8. The Administrator can log in and use ACME, and has no security restrictions whatsoever.

Access Control Requirements, Security is not Enabled

This section describes the specific behavior of the access control system under the condition that the security features of the system are disabled.

  1. The login screen is not displayed
  2. All users will have unlimited read/write access to all ACME functions except User and Group management
  3. The Administrator can only log in through the "Become Administrator" process
    1. Any User or Group changes will not take effect until security is enabled

Access Control Requirements, Security is Enabled

This section describes the specific behavior of the access control system under the condition that the security features of the system have been enabled.

  1. External Access Control Levels (ACL) will be based on the same functional areas that the internal security is based on
    1. For example, a user may or may not have the right to edit an invoice
  2. External ACL will be controlled by the Administrator account
    1. The Administrator can:
      1. Add, edit and remove groups
      2. Add, edit and remove user accounts
      3. Assign functional areas to groups
      4. Add, edit and remove user-to-group relationships
  3. If multiple users are going to log in, security must be enabled
    1. Note: We do not want to program for this until Phase 2E when an actual installation program will be used

Functional areas

This section is completely new.

  1. Functional areas for Phase 2C are defined as follows:
    1. Job - New
      1. User can either create new jobs, or not
    2. Job - Edit
      1. User can either edit jobs, or they are read-only
    3. Job - Delete
      1. User can either delete jobs or not
    4. Job - Clear Locks
    5. Become Administrator
    6. Switch Databases
    7. Job - Save As
      1. The ability to create a job implies the ability to use "Save As..."
      2. The ability to delete a job implies the ability to overwrite an existing job
    8. Job - List Jobs
      1. Issue: Is there any need to restrict this?
    9. The following functional areas belong only to the Administrator
      1. User - New
      2. User - Edit
      3. User - Delete
      4. Group - New
      5. Group - Edit
      6. Group - Delete
    10. List User Accounts
  2. The following functional areas are specifically not being created. It is assumed that all users can CRUD database connections.
    1. Database - New
    2. Database - Edit
    3. Database - Delete
  3. This list of functional areas is the same for all customers
    1. i.e., all customers will have "User - New", "User - Edit"
    2. i.e, Bobit will not have one list of functional areas, Medical World another list, etc.
  4. There are three possible access levels for each functional area:
    1. Hidden
      1. Generally speaking, menu options will not be visible
    2. View
      1. Generally speaking, menu options will be visible, but not enabled
    3. Edit
      1. Menu options will be enabled
  5. One and only one access level can be specified per functional area, per group created
    1. Ex: The group READ_ONLY is defined to have one access level of "VIEW" for the "Edit Job" functional area.

External User Groups

When access control is enabled, User Groups can be created by the Administrator to represent user roles.

  1. External User Groups
    1. Functional areas will be assigned to groups
    2. Groups cannot contain other groups
      1. i.e., there is not a recursive nesting of one group inside of another group, inside of another ...
      2. Example:
        1. One group is named "Order Entry"
        2. A second group is named "Book Map"
        3. Order Entry cannot contain Book Map
        4. Book Map cannot contain Order Entry
    3. Group name restrictions
      1. Group names can be up to 32 characters
      2. Group names can contain the following characters:
        1. A-Z, a-z, 0-9, _, -, and blank spaces
        2. The name must begin with a character or number
  2. ACME will ship with one default Group named something like "ALL_RIGHTS"
    1. This group will have read/write access for all functional areas

External Users

With access control enabled, the Administrator must create user accounts to let users log in.

  1. External Users
    1. Users must login when starting the application
    2. Users will be able to change their passwords
    3. Users can belong to only one group
    4. User name restrictions
      1. User names can be up to 20 characters
      2. User names can contain the following characters:
        1. A-Z, a-z, 0-9, _, -, and blank spaces
        2. The name must begin with a character or number

External User Passwords

  1. A User account must always have an associated password
  2. Passwords
    1. Password restrictions
      1. Passwords can be up to 20 characters
      2. Passwords can contain any ASCII character

  1. Password changing
    1. Users can change their own passwords
    2. The Administrator can change any user's password

Initial database information

  1. The User database will ship with two accounts:
    1. Administrator
    2. Unknown User
  2. The Group database will ship with two accounts:
    1. Administrator
    2. Unknown Group
  3. The Customer database will ship with one or more PPC customer accounts

External user logins

  1. Any user can log into the system more than once simultaneously
    1. This includes Administrators
    2. This includes multiple logins per one machine
    3. This includes multiple logins from multiple workstations