Реализация выхода из системы в классическом ASP - PullRequest
1 голос
/ 27 марта 2012

У меня есть классическое приложение asp, в котором пользователь входит в систему, используя NTLM-аутентификацию, после чего он будет проверен, и у меня будет сервер varialbel LOGON_USER с его именем пользователя. Сейчас я пытаюсь реализовать выход из системы, но проблема в том, что значение LOGON_USER никогда не бывает пустым, даже если я заканчиваю сеанс. Я тоже очистил кеш, но не смог. Любое предложение о том, как добиться этого. Код моей страницы выхода из системы.

<%@ 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 голосов
/ 28 марта 2012

Сначала вы делаете Redirect, поэтому любой установленный вами статус будет заменен на статус "302 Объект перемещен", который определяет функцию перенаправления.

Также необходимо понимать, что переменная сервера LOGON_USER связана с соединением TCP / IP, используемым для выполнения запроса. Единственное влияние, которое вы оказываете на это в ASP-коде, - это добавление заголовка «Соединение» со значением «закрыть». Это закроет это аутентифицированное соединение. Новое аутентифицированное соединение будет установлено, только если вы отключили анонимный доступ или другая страница отправит ответ 401.

Однако этот элемент управления ограничен, поскольку между сервером и любым отдельным клиентом может использоваться несколько аутентифицированных соединений. Ответ на запрос может закрыть только текущее соединение, но не любое другое.

...