APM session table - find key based on value workaround?
Hi
Trying to build the following logic:
On the VS/AP with Network Access resource:
-
User authenticates on the APM
table set [ACCESS::session data get "session.user.sessionid"] "" (in event ACCESS_POLICY_COMPLETED)
-
User connects with Network Access, I add the assigned IP to the table
table append -mustexist [ACCESS::session data get "session.user.sessionid"] [ACCESS::session data get session.assigned.clientip] (event HTTP_REQUEST , if URI starts with "/myvpn?sess=")
-
User logs out or session times out
table delete [ACCESS::session data get "session.user.sessionid"] (in event ACCESS_SESSION_CLOSED)
The user then connects to VS/AP on the same cluster but I should bypass authentication for him ("usability" argued) because he comes from NA and already authenticated. Access should be logged.
On other VS/AP I would like to call an iRule (through the VPE), if client source IP is in the NA_pool range, I verify the sessionID of his NA session based on his client_ip and log it.
Issue: no way to lookup table's key based on the value.
Table will remain small with max 500 rows.
Glad for any input.