Kbase P187701: LOGIN-EXPIRATION-TIMESTAMP functionality is broken.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  13/05/2011 |
|
Status: Unverified
SYMPTOM(s):
LOGIN-EXPIRATION-TIMESTAMP functionality is broken.
The CLIENT-PRINCIPAL object continues to be valid after the LOGIN-EXPIRATION-TIMESTAMP expires.
The SET-CLIENT() method and the SET-DB-CLIENT function execute without error after the expiration of the CLIENT-PRINCIPAL object.
The LOGIN-STATE attribute returns "LOGIN" after the expiration of the CLIENT-PRINCIPAL object.
The sample procedure below sets the LOGIN-EXPIRATION-TIMESTAMP attribute to expire in 5 seconds and loops doing nothing for 10 seconds to expire the CLIENT-PRINCIPAL. Yet, contrary to expectations, the SET-CLIENT() method and the SET-DB-CLIENT function execute without error and the LOGIN-STATE attribute returns "LOGIN".
FACT(s) (Environment):
All Supported Operating Systems
OpenEdge 10.2B04
CAUSE:
Bug# OE00207569
FIX:
None at this time. A workaround is to test the LOGIN-EXPIRATION-TIMESTAMP to determine if it has already expired and apply the LOGOUT() Method to invalidate the CLIENT-PRINCIPAL object. For example:
IF ghCp:LOGIN-EXPIRATION-TIMESTAMP < NOW THEN DO:
ghCp:AUTHENTICATION-FAILED('User Session Expired').
ghCp:LOGOUT().
END.