User-based Security

The user-id, entered at the Logon Please prompt (or pre-coded in the system environment), is the fundamental identifier which is required to gain access to a database, and also specifies, via the associated user profile, the main access rights granted to that user.

User profile

The user profile can include:

User passwords

The user password is prompted for after a user-id is entered. This is the first line of user security, restricting access to the database. It is therefore important that passwords are protected from unauthorised use. All passwords are stored in the USERS file item in an encrypted form so that read access to the USERS files does not compromise database security. However, users should be aware of modem connections and networks that echo the characters.

A user profile can explicitly refer to a password definition. Password definitions allow you to define the valid composition of passwords including minimum and maximum length; allowed patterns of alphabetic, numeric and special characters; sequences of ascending or descending characters; and so on. If no definition is specified the DEFAULT user password definition item is assumed.

It is also important that passwords are created that are difficult to guess, but easy to remember. The optimum length of a password is 6-8 characters; otherwise it is difficult to remember. A password can consist of upper and lower case letters, numbers, or a mixture of both. Possibly the best password is one that is structured by a personal algorithm.

For example, say that your installation changes passwords quarterly. One user, who happens to have four children, might decide to use his children's initials and their ages, one for each quarter, with the initials first in even numbered years, and vice versa in odd numbered years. Another user might choose four colours and four numbers and use them in some easily remembered sequence.

Security profile

The user-profile assigns a security profile to the user according to the location of the user as identified by PLId. The security profile can further qualify the user's access to the database as follows:

Assignment of security profiles to user profiles

More than one security profile may be specified for a user. These correspond to specified PLIds on a one to one basis, so that when the user logs on from the first location, the first security profile applies, and so on. Refer to the topic Location-based Security.

Each user can also be assigned a default security profile (by specifying one more security profile-id than there are PLIds). This default profile applies at all locations other than those specified. If no default profile is specified, the user can only log on from those locations that are associated with the listed PLIds.

If no PLIds are specified, a single security profile can be specified and this will apply to the user at all locations. If no security profile is specified, the system DEFAULT security profile is used.

Within each security profile, you can also specify alternative profiles to be used when the user logs on via different server programs.

The security profile to be used is determined as follows:

  1. When the user logs on, the user profile associated with that user-id is activated.

  2. The PLId of the user's location is checked against the list of PLIds for that user.

    • If the user has no list of PLIds:

      • If the user has no security profile specified, the system DEFAULT security profile is activated.

      • If the user has a security profile specified, that security profile is activated.

    • If the user has a list of PLIds:

      • If PLId of the user's location is found in the list, the security profile corresponding to that PLId is activated.

      • If the PLId is not found, the user's default security profile, if any, is activated. If there is no default profile specified, the user is logged out.

  3. For an interactive user, the security profile activated in step 2 is used. If, however, the user is logged on to a server program (such as ROSFS), the server id is checked against the list of servers. Each server in the list has an associated alternate security profile.

    • If the current server is found, the alternate security profile associated with that server is activated.

    • If the current server is not found, the current security profile remains active.