在经典的asp中实现注销

时间:2012-03-27 19:19:53

标签: asp-classic vbscript

我有一个经典的asp应用程序,用户在完成后使用NTLM身份验证登录,他将被验证,我的服务器varialbel LOGON_USER和他的用户名。现在我正在尝试实现注销,但问题是值LOGON_USER永远不会为空,即使我结束session.I清除了缓存,但无法使用它。关于如何实现这一点的任何建议。我的注销页面代码。

<%@ Language=VBScript %>
<%
Option Explicit
Response.Buffer = True
Response.Expires = -1

Session.Abandon
Response.Status = "401 Unauthorized"
Response.AddHeader "WWW-Authenticate","NTLM"
Response.Redirect "test.asp"
Response.End

%>

1 个答案:

答案 0 :(得分:0)

首先,您正在执行Redirect,因此您所设置的任何状态都将被替换为&#34; 302对象移动&#34; status定义重定向功能。

此外,您还需要了解LOGON_USER服务器变量与用于发出请求的TCP / IP连接相关联。您在ASP代码中对此唯一的影响是添加&#34; Connection&#34;标题值为&#34;关闭&#34;。这将关闭此经过身份验证的连接。只有在您关闭匿名访问或其他页面发送401响应时,才会进行新的经过身份验证的连接。

但是此控制受到限制,因为服务器和任何单个客户端之间可能存在多个经过身份验证的连接。对请求的响应只能关闭当前连接,而不能关闭任何其他连接。