forcing logout after non-anonymous integrated windows authentication

I have a non-anonymous integrated windows login scenario for an IIS 6 based website (development environment: Visual Studio 2005 / and server with 2.0) whereby the user authenticates using an integrated windows authentication. That is, when first hitting the URL on the website, the user is presented with a standard windows login screen, and they enter their credentials they normally would log into Windows with. Their login is enabled throughout their session until their browser is closed.

I need to add some security so that if the worker leaves their machine, then after a certain amount of time, their screen will go to a safe screen, and they'll be required to log in again. In all my readings on this, the uniform recommendation seems to be that you have to close the browser, which is fine with me. I also saw a reference to clearing the user.identity token, but i can't figure out how to do this in Visual Studio. User.identity.IsAuthenticated is read-only. Rats.

Question: how can I either:
1. time-out the  page,  nullify the authentication state, and redirect it to a safe, non-authentication page that will require the user to click a link that references a secure page, and it presents the user with an integrated Windows login screen again.

or if this can't be done:

2. automatically close the browser after a certain amount of time that a page has been up.

Thanks kindly for any ideas.
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

BigRatConnect With a Mentor Commented:
  If the Authentication scheme is Basic Authentication, the ONLY way is to close the browser, since it holds the userId and the password and sends it on EVERY request.
CurriculumAuthor Commented:
Hi BigRat - yes, it's Basic authentication.

Any chance that what the browser is holding can be nulled out, so that 1. the page could be re-directed to another non-basic-auth page, and 2. any subsequent attempt at a page requiring basic auth would require the credentials again ? I found one reference online (but unfortunately unsupported with code) that indicated this could be done by addressing the identity token which is held by the browser, and is only possible in IE6 SP 1 or higher, which is fine with my situation.

CurriculumAuthor Commented:
Will close this question with twofold comment:

1. Thanks BigRat for the quick response, with what should be a definitive answer without a kludge.  I've spend about 16 hours after this post looking at solutions and most all authoritative responses are in agreement.
2. For anyone wanting to avoid closing the browser and using a kludge, here is Microsoft's kludge:

It involves creating an ActiveX control which is downloaded by the browser and run. Unfortunately the code is written in VB6 and it wasn't obvious how to translate that over to Visual Studio.
CurriculumAuthor Commented:
Thanks. I wasn't in the mood to create the ActiveX control and see if that would work, so I'll tell my customer to close the darn browser!
All Courses

From novice to tech pro — start learning today.