Users and administrators are authenticated based on a password and access level combination. There are currently 3 access levels recoginzed:
All files in stored in Accounts directory on the provisioning server are
considered to have USER access level only. Files in Admin_Accounts may have either
ADMINISTRATOR or TECHNICIAN access or both, as specified by the
User acces means that owners of these accounts may only view and modify their
own account data. They are only able to log in through the
Accounts with TECHNICIAN access are able to log in through the
The PasswordManager class is called by the gui to verify whether the password
access level entered by the user are valid. The remaining classes in this
package provide a separate gui which may be used to manage
(create/delete/modify) administrative accounts. Note that to change a password
for a user, you must use the main gui.
The password is stored in each account file as an md5 hash (as implemented by
the java.security.MessageDigest). To verify the password, the entire account
file (identified by the login name) is retrieved from the server, the hash of
the supplied password is computed and then compared to the hash retrieved from
the file.
Note that if USER access is requested, and the supplied login id does not exist
as a master account file, the PasswordManager will also check whether the
given id exists as an alias. If it is an alias, the PasswordManager will
automatically retrieve the master account for that alias and attempt to log in
the master account with the supplied password.
This package also provides the classes provide a user interface which allows
new ADMINISTRATOR and TECHNICIAN accounts to be created on the provisioning
server. These classes are
UserLogin
AdmistrativeLogin
to modify the server configuration data. Accounts with
ADMINISTRATOR access also log in through AdministrativeLogin
and
have the ability to see all USER accounts in the system and modify their
configurations, including both fields which the end USER may modify an others
whiche are only accessible to the ADMINISTRATOR.
AdminAcctManager
, (which parses
command line arguments and allows the account manager to run as either an
application or applet) AdminAcctManagerPanel
(which displays a
table of all the accounts and their access types) and CreateAdminAccountPanel
(which allows accounts to be created or edited).