I am using the latest Oracle Maps (11g ps6 v18.104.22.168.1) and I am trying to support authentication to display different content to the users.
I want to do this using cookie authentication. I've set the configuration as the documentation indicates, and I see my cookie being read in the logs:
Jul 01, 2013 1:15:50 AM oracle.lbs.mapserver.oms getAuthenticatedUserIds
FINEST: User name stored in cookie [MON_USER] : francis
The problem I have is that the set_user procedure of my package is not called, even though the clear_user is called at the end of the request. I have an insert statement in my procedure, I am not relying strictly on the logs.
Jul 01, 2013 1:15:50 AM oracle.sdovis.ds.DSUtil closeDBConnection
FINEST: package web_user_info.clear_user called.
Anybody know if this is a bug or if there is a way around? Or have been able to make it work? I have the impression I've tried everything, even changing the name of my package & cookie to be the same as in the documentation.
Is this a container data source (defined using container_ds) or direct mapviewer data source (with jdbc_host/port/sid et al specified)?
any chance you can look into the db logs to see if the sql insertion is being done and committed? mapviewer by default disables auto-commit on its connections so you may need to commit manually.
The container data source is defined using a direct mapviewer datasource. The configuration of my connection is defined below.
The package functions are declared as PRAGMA AUTONOMOUS_TRANSACTION, and there is a COMMIT. I know it works fine in the "clear_user" procedure (I tried putting INSERT & DELETE statements there).
If still relevant, what db logs should I be looking for? I've tried to find that information in all the trace files I have (or I know I have), but do not find it.
I gave it a try yesterday & today. I've been unable to get to the point where my app query the mapviewer server using those versions, so unable to validate if the cookie is used. I could put more time in, but I do not see the point in trying to get this to work with an older version. Even though this might work, it is not even the same API.