powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как восстановить сессию
25 сообщений из 288, страница 7 из 12
Как восстановить сессию
    #39579353
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

так то всё можно свести к куки и токенам.
Тот же токен либо передаётся в запросе, либо создаётся IIS и передаётся в ASP.NET.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579356
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то из-за этого топика тоска по прошлому нахлынула. Когда-то ведь и я сам писал такое:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
public class BasePage : Page
{
    protected bool allowDisconnected;
    protected SessionController session;

    #region Переопределённые методы

    protected override PageStatePersister PageStatePersister
    {
        get { return new SessionPageStatePersister(this); }
    }

    protected override void OnInit( EventArgs e )
    {
        // Инициализируем переменные класса
        session = Session[ SessionKey.SessionController ] as SessionController;
        if ( session == null )
        {
            // Если пришёл Ajax запрос в обход стандартного механизма, то в ответ ничего не возвращаем, в этом случае страница должна редиректится на LogIn.aspx.  
            // TIS-219: от 02.06.2011 при утрате сессии (по таймауту) AJAX выдает некрасивые результаты
            if ( AUXUtility.ToBoolean( Request[ QueryStringKey.OutOfBand ] ) )
            {
                Response.StatusCode = 401; // 401 (неавторизованный запрос) Запрос требует проверки подлинности
                Response.Flush();
                Response.End();
            }
            Response.Redirect( UrlKey.LogInPage );
        }
        // Проверяем состояние сессии
        switch ( session.State )
        {
            case SessionState.Disconnected:
                if ( allowDisconnected )
                    break;
                Response.Redirect( UrlKey.LogInPage );
                return;
        }
        base.OnInit( e );
    }

    #endregion
}
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579452
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

ну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...

а у тебя токен и куки?

Парамонавторизацию с куки от токена не отличам значит ))

что такое «авторизация с куки»? )))
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579456
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...
осталось изучить последний-крайний "механизм" от автора:
авторСейчас после авторизации данные пользователя и подключения к бд записываются в сессию.
))
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579464
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123осталось изучить последний-крайний "механизм" от автора:
авторСейчас после авторизации данные пользователя и подключения к бд записываются в сессию.

да хоть на винил записывается, или выжигается калёным железом на лбу пользователя,
этим можешь на досуге заняться и не забудь сообщить о результатах исследования ))
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579467
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
именно брат!
Надо возвращать вас на землю.
А то один код юности вспоминает, а другой по OpenID ностальгирует.
Чудные ребята).
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579534
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...

а у тебя токен и куки?

все перечисленное и есть токены с куками под разными соусами
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579543
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordhVosttну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...

а у тебя токен и куки?

все перечисленное и есть токены с куками под разными соусами
+1
Они уже давно менеджеры с js уклоном.
А разговора об серверной сессии боятся как черт ладана.
Даже не вспомню чё они по сабжу предлагали и говорили.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579544
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordhVosttну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...

а у тебя токен и куки?

все перечисленное и есть токены с куками под разными соусамиЭто как посмотреть.

Начнём с Basic. Вот где там токены или куки?
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579546
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Угу. Давай ещё пофлудим не по теме.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579572
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЭто как посмотреть.

Начнём с Basic. Вот где там токены или куки?

seriously? Где в Basic токены? Ты Basic даже не отличил-бы от JWT'ов на глаз если из его хэдера слово Basic выкинуть
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579591
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordskyANAЭто как посмотреть.

Начнём с Basic. Вот где там токены или куки?

seriously? Где в Basic токены? Ты Basic даже не отличил-бы от JWT'ов на глаз если из его хэдера слово Basic выкинутьХамство вместо ответа на простой вопрос - отличительная черта гопника с урала :)
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579600
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формально-то токеном там является base64 от строки "username:password".
Но вот на мой взгляд это слабовато для токена с точки зрения защиты конфиденциальности пользователя и его пароля.

Token Based Authentication -- Implementation Demonstration
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579602
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХамство вместо ответа на простой вопрос - отличительная черта гопника с урала :)
хамство и флуд - это твоя отличительная черта, это в добавок к несообразительности. То, что я написал и надо понимать буквально - хэдер с basic аутентификацией ты не отличишь на глаз от хэдера с JWT если из него выкинуть слово обозначающее тип аутентификации. Если по-прежнему не доходит - почитай сначала теорию
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579603
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordskyANAХамство вместо ответа на простой вопрос - отличительная черта гопника с урала :)
хамство и флуд - это твоя отличительная черта, это в добавок к несообразительности. То, что я написал и надо понимать буквально - хэдер с basic аутентификацией ты не отличишь на глаз от хэдера с JWT если из него выкинуть слово обозначающее тип аутентификации. Если по-прежнему не доходит - почитай сначала теориюУ JWT есть ещё и пейлоад. Иди-ка сам почитай :)
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579609
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttПарамон,

ну я знаю такие механизмы как Basic, Digest, NTLM, Negotiate, Forms, CA, SWT, JWT, SAML, WS, OpenID Connect, OAuth...

а у тебя токен и куки?

Парамонавторизацию с куки от токена не отличам значит ))

что такое «авторизация с куки»? )))
Убил )) у меня токен, а у тебя jwt?
Кроме названий про отличия почитал? OAuth использует jwt на пример.

Куки как правило чисто браузерный механизм, к примеру холодильник не авторизует, по этому с IOT не используют.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579613
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAstenfordпропущено...


seriously? Где в Basic токены? Ты Basic даже не отличил-бы от JWT'ов на глаз если из его хэдера слово Basic выкинутьХамство вместо ответа на простой вопрос - отличительная черта гопника с урала :)
“Гопник с урала” это да хамство, а в чем его?
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579614
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонskyANAпропущено...
Хамство вместо ответа на простой вопрос - отличительная черта гопника с урала :)
“Гопник с урала” это да хамство, а в чем его?Резкий способ общения и есть хамство по определению.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579619
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРезкий способ общения и есть хамство по определению.
а мягкий уход от ответов?
Если ты в этом топике уходил от прямых вопросов, то он предположил что ты слово хэдер не знаешь.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579620
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПарамонКуки как правило чисто браузерный механизм, к примеру холодильник не авторизует, по этому с IOT не используют.
хороший пример)
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579628
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй вернусь к теме топика.

ilshatkinСпасибо ребята что откликнулись. В итоге накостылял, получилось не идеально но терпимо на первое время.

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

Сессию можно назвать не восстанавливаю, а делаю новую и продолжаю на нем работать дальше.

Веб-приложение на web forms с ext.net.

Сделал доп. модальное окно для авторизации внутри приложения и если происходит запрос на сервер и обнаруживается что сессия истекла, то это окно показывается, а отправленный запрос просто возвращает null. Далее если вводится верный пароль, то создается новая сессия и работаем на ней. Сейчас не идеально то что по идее нужно было бы повторно запустить тот неудачный запрос автоматом и завершить действия, но пока это не стал делать, то есть человек должен повторно инициировать сове действие.
Лично я не вижу никакого смысла делать "доп. модальное окно". Зачем?
Типа чтобы пользователь не покидал страницу? Но его внимание (контекст/поток) всё равно будет переключено на ввод логина и пароля.
Да и явный переход на строницу логина с последующим редиректом обратно - это повсеместно используемый и узнаваемый подход. Следовательно он не должен смущать пользователя.
Также он уже реализован в FormsAuthentication.

Таки зачем, как Вы сами выразились, "костылять", если можно воспользоваться готовым решением?

Что касается выставления sessionState timeout в 8 часов и более, то по мне так это плохое решение.
Считаю что пользователь должен сам указывать нужно-ли его запоминать на текущей машине: на рабочей - да, в переговорке - нет.
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579637
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAУ JWT есть ещё и пейлоад. Иди-ка сам почитай :)
ага, зашифрованный вместе с остальными его частями
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579639
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРезкий способ общения и есть хамство по определению.
если ты не понял смысл моего поста и он до тебя дошел только после разьяснения - то это твои проблемы
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579640
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПожалуй вернусь к теме топика.
Молодец! Настоящий мужчина)
Начнём с чистого листа.
...
skyANAЛично я не вижу никакого смысла делать "доп. модальное окно". Зачем?
+1
skyANAЧто касается выставления sessionState timeout в 8 часов и более, то по мне так это плохое решение.
это обычное решение в интранет приложениях.
В публичных веб приложения плохое.
Вопрос - как регулируется серверная сессия напр. до 8 часов?
...
Рейтинг: 0 / 0
Как восстановить сессию
    #39579641
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123а мягкий уход от ответов?
Если ты в этом топике уходил от прямых вопросов, то он предположил что ты слово хэдер не знаешь.
человек не знает определенные вещи - но высказаться охота. Вот и результат
...
Рейтинг: 0 / 0
25 сообщений из 288, страница 7 из 12
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как восстановить сессию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]