Consultor Eletrônico



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.