I have used tokens to manage access. These tokens were held in a Firebird tables and each user at logon attempts to get an update lock on a token and hold that transaction open until closing the program. The advantage of this method is that if the connection is broken or the program crashes the token will be released.
Tokens have internal validation and indexing assures that they cannot be duplicated. Tokens are also good for db maintenance when only one maintenance routine should run - ie generating bookings from a repeating bookings list. Mick

