У меня есть собственный журнал, который возвращает зашифрованный токен, который указывает, что пользователь вошел в систему. Этот токен передается на другую страницу (Dash.aspx) через QueryString.Как обрабатывать пользовательский токен по страницам
Dash.aspx берет токен из QueryString и отправляет его в скрытое поле на странице. Javascript считывает это значение и удерживает его в памяти. Этот токен затем используется для совершения вызовов веб-службы. Когда эти вызовы завершают новое значение Token, и javascript сохраняет это значение (заменяя старый).
Я хочу добавить новые страницы для доступа после входа в систему. Этим страницам понадобится действительный токен, переданный им. Пользователь переместится с Dash.aspx на одну из этих новых страниц и обратно (так что всего несколько ссылок в верхней части главной страницы)
Мне не нравится передавать токен через QueryString. И я не уверен, как обновить токен, если он доступен на странице. Я хочу, чтобы избежать использования сеанса для хранения и передачи токена, если это возможно
Как я могу передать свой токен более незаметно и убедиться, что он всегда соответствует самому последнему значению?
Я понимаю, что это довольно широкий вопрос, но я не в порядке. Я чувствую, что есть, вероятно, какая-то предварительно построенная идея, которая справится с этим, я просто не знаю, что и как ее использовать.
Благодаря
Update
Так пример попросили:
Шаг 1: журналы пользователей в -> zholen/zholen123
- служба призвана подтвердить имя пользователя и пароль -> возвращает токен ('ABC')
- Перенаправление на страницу Da sh.aspx маркер = ABC
Шаг 2: Dash.aspx захватывает маркер из строки запроса и присваивает скрытое поле на странице
- объекты JavaScript грейферов фишку из скрытого поля и сохраняет внутренне
- JS Объект делает несколько асинхронных вызовов на различные услуги, каждый сервис возвращает новый обновленный токен, внутренний маркер обновляется с новым значением (токены истекает через каждые 30 мин)
Нужные новые шаги
Шаг 3: Перемещение из Dash.aspx в Account.aspx
- Account.aspx требует действительный токен для загрузки
- вызовов больше услуг и изменить токен
Шаг 4: Перейдите со счета в тире.ASPX с до даты лексем
вызовы Обслуживание производится либо с помощью веб-службы (ASMX) или с помощью методов страницы в зависимости, хочет ли действие возврат данных (ASMX) или HTML возврата (страничный метод -> таблица предварительно заполненные данными) или на странице загрузки
Основываясь на предложении куки, я думаю, можно было бы сбросить куки с новым лексем значением во время этих вызовов на C# конец, если предположить, что я мог бы сделать что-то вещь из ASMX и что асинхронность всего этого не вызовет проблем.
Также я могу сделать объект JS, который внутренне сохраняет обновленное место токена, возвращающее значение в скрытое поле, если это поможет сделать его доступным с конца C#.
Я не могу понять, в чем вы нуждаетесь. Можно объяснить это примером? Что-то вроде «Вход в систему пользователя, он перенаправляется на новую страницу с токеном в строке запроса, затем он нажимает ... и ... javascript вызывает веб-сервис и ...)» – JotaBe
Идея файлов cookie хороша , но вы не можете установить их из .asxm WS, вызванного из javascript. Значение скрытого поля будет потеряно, если пользователь изменит с одной страницы на другую с помощью ссылки или введите URL-адрес, чтобы вы могли отказаться от этой опции. Используете ли вы этот токен, чтобы поддерживать сеанс в течение 30 минут? если да, почему бы не использовать обычный сеанс ASP.NET? Ответ решает проблему с C# проблемы, но не со стороны javascript. Вы должны установить cookie с javascript, совместимым со всеми ожидаемыми браузерами. – JotaBe