tags:

views:

413

answers:

2

OK, the auditors have come knocking and I know one of their standard "exposures" is if your application allows concurrent logons by the same user.

Let's put aside the quantification of that risk for a minute...

The application I'm working with uses Oracle SSO for managing authentication, and as far as I know, it does not have an out-of-the-box solution for this.

I'm looking for advice - either a way that the standard product can be made to support this requirement, or the most maintainable, unintrusive customisation to do the same.

Appreciate any thoughts on the matter...

+1  A: 

Ignoring the SSO part, you would add the user to a profile that limits the number of active sessions.

ALTER PROFILE app_user LIMIT SESSIONS_PER_USER 1;

I don't know what SSO adds to this.

Daniel Emge
Don't think that will work in my case, since the mid-tier does proxy authentication to the database? Each actual user doesn't have their own db profile.
tardate
A: 

You can limit the user via a logon trigger. Have the trigger query the database for sessions belonging to the user. If the user is already login error and log the present session out.

MichaelN
Thanks MichaelN, but I think the same problem as with Demage's answer ... fine if we are dealing with database users, but does not solve the OSSO/mid-tier problem because the users do not have a database session of their own.
tardate
SSO throws a wrench into that. Can you make use of the Remote_User header to limit the number of similar user connection?
MichaelN