views:

81

answers:

1

I need to restrict users in my application to login from a one computer at a time (i.e. if they login from computer 2, computer 1 session will be ended). My application is created in Silverlight and will be running in via an ASP.NET page inside IIS. This is an enterprise scale application so any solution has to be highly performant.

  • I don't want to restrict the user to using a single computer.
  • I can't rely on the IP address of the client to be unique.
  • All server calls are made from the Silverlight application, so any solutions using SessionId needs to bear this in mind.

Are there any "standard" features available in Silverlight, ASP.NET or IIS that provide such a feature?

What other programming models can be used to acheive this?

Thanks, Mark

+2  A: 

Session cookie ;) Simple. Basically if user logs into a new session, ask him to invalidate the old one (throw him out there), or close the new one (throw him out there).

OWA (Exchange 2010) has a mechanism like that.

Standard features: no. Needs programming.

Session Start event can be used to do the check.

TomTom
Thanks for the quick response TomTom. I don't really like the idea of SessionId's as this would also log the user off after a predefined period of inactivity - unless I'm mistaken and Silverlight keeps SessionId's "alive" whilst the client is open??
Mark Cooper
Also, how would SessionId work if I were to take the app into Out of Browser mode?
Mark Cooper