Как получить имя файла cookie для аутентификации для текущего сеанса в Classic ASP - PullRequest
3 голосов
/ 20 ноября 2010

Классический ASP создает куки с именем что-то вроде ASPSESSIONIDSSDSQQCR, где суффикс после «ASPSESSIONID» отличается. Если вы какое-то время работаете с приложением, браузер продолжает сохранять все файлы cookie предыдущего сеанса (может быть 10 файлов cookie или более), поэтому невозможно понять, какой файл cookie предназначен для текущего сеанса

Я знаю, что есть способ получить текущий SessionID

Session.SessionID

но как мне также получить значение cookie?


Я просто пытаюсь создать решение для аутентификации для ASP.NET, которое является просто дополнением для приложения Main Classic ASP.
В этом проекте основное приложение создает запись в базе данных с текущим значением файла cookie Классического ASP, и после этого, когда пользователь пытается получить доступ к части ASP.NET, он просто принимает все файлы cookie «ASPSESSIONIDSSD + XXXXX» в запросе и проверяет, какой из них все еще действителен ищу первоначальную запись в базе данных. Если найден действительный сеанс, он должен инициировать сеанс ASP.NET ....

1 Ответ

2 голосов
/ 20 ноября 2010

Не думаю, что вы можете получить файл cookie идентификатора сессии Классического ASP из ASP.NET. Классический файл cookie сеанса ASP имеет криптографическую защиту, чтобы ваши клиенты не вмешивались в него. К сожалению, это также не позволяет вашему .NET-коду повозиться с файлом cookie сеанса.

Самая простая вещь, о которой я могу подумать, - это установить дополнительный файл cookie в вашем коде Classic ASP. Вместо того, чтобы хранить классический идентификатор сессии в вашей базе данных, сохраните какой-нибудь другой ключ, например GUID . Затем отправьте сессионный cookie в браузер с ключом.

Response.Cookies("SessionKey") = GeneratedGuid

Затем вы можете прочитать файл cookie SessionKey в .NET и найти его значение в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...