Kbase P119578: How are user names or user ids handled when connecting to a database?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Verified
GOAL:
How do database user names work?
GOAL:
What is the blank user ID?
GOAL:
What are the user names that appear in PROMON?
GOAL:
What are the user names that appear in the database log file?
GOAL:
What user name is reported by the USER function?
GOAL:
Why am I seeing blank user id for users connected to the database?
GOAL:
Why is promon showing blank user id's for users connected to the database?
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
FIX:
The way Progress and OpenEdge manage user names depends on the status of database security.
If database security is not enabled:
- the client will provide the operating system user name of the user to the database engine upon connecting.
- the database engine will link this user name to the connection status, and report it through the life of the connection afterwards (in PROMON, log files, and the USER function in 4GL).
If database security is enabled:
- the client will provide the operating system user name of the user to the database engine upon connecting. This user name will be reported in the initial connection message in the database log file.
- then the client will ask the user for a username and password for authentication.
- if the user enters a username and authentication succeeds, the provided user name will be linked to the connection status in the database engine.
- if the user chooses to cancel the login step, and blank user ID is allowed to access the database, then the blank user ID will be linked to the connection status instead.
- if the user chooses to cancel the login step, and blank user ID is not allowed, then further database operations will fail.
In any case, if database security is enabled then the operating system user name is not stored and reused in the database engine past the initial connection step.
The presence of the blank user ID in the database log file or as result of the USER function is a sign that the database security has been enabled, and that the blank user ID is allowed to access the database, and that some users have not authenticated with a valid user name when connecting to the database.