Почему HttpContext.Current.Session меняется каждый раз, когда я захожу на ту же страницу ASP.Net - PullRequest
1 голос
/ 14 июля 2011

Вот сценарий

У меня есть страница, скажем, login.aspx, имеющая кнопку с именем login, при нажатии кнопки этой кнопки, когда я проверяю SessionID, она показывает конкретное значение, например, «A»

Теперь я звоню на какую-то внешнюю страницу, и эта страница затем снова вызывает эту страницу.

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

Я понятия не имею, почему это происходит, я просто хочу иметь тот же SessionID

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

Добавляете ли вы какие-либо данные в сеанс?Это необходимо сделать, чтобы идентификатор сеанса «прилипал».

1 голос
/ 14 июля 2011

У вас нет нескольких веб-серверов?

Если это так, и если вы не используете поставщика общего состояния сеанса, вы склонны видеть такое поведение.

Редактировать.

ОК, следующий вопрос ...

Является ли URL-адрес, на который возвращается авторизация Twitter, точно таким же доменным именем?

Например, если ваше приложение работает на http://127.0.0.1:1234/, а обратный URL-адрес - http://localhost:1234/?

Edit2: Да?

Когда вы перенаправлены обратно из приложения Twitter на 127.0.0.1, cookie-файл сеанса ASP.NET не передается обратно на веб-сервер, поскольку домен другой.

Вам нужен домен, на котором запущено приложение, чтобы соответствовать URL-адресу обратного вызова Twitter.

Переконфигурируйте URL обратного вызова Twitter на localhost: 1234, и я думаю, что вы должны быть в порядке.

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