Curriculum
asked on
forcing logout after non-anonymous integrated windows authentication
Hello,
I have a non-anonymous integrated windows login scenario for an IIS 6 based website (development environment: Visual Studio 2005 / and server with asp.net 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.IsAuthentica ted 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.
I have a non-anonymous integrated windows login scenario for an IIS 6 based website (development environment: Visual Studio 2005 / and server with asp.net 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.IsAuthentica
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.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hi,
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:
http://support.microsoft.com/?id=195192
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.
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:
http://support.microsoft.com/?id=195192
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.
ASKER
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!
ASKER
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.