Перенаправить на другой сайт с заголовками авторизации в ASP. Сеть - PullRequest
0 голосов
/ 15 января 2019

Я пишу простое приложение ASP.Net (веб-формы).Я пытаюсь добиться того, чтобы пользователь зашел на мою страницу, и мне нужно перенаправить его на другую страницу сайта с помощью токена авторизации JWT.Я пытаюсь использовать приведенный ниже код.

 Response.AddHeader("Authorization", "Bearer " + jwtToken);
 Response.Redirect("https://sitename/index.aspx");
 Response.End();

Я не вижу заголовки на странице или я делаю неправильно ?.Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 15 января 2019

Когда вы используете Response.Redirect, информация заголовка не передается на новый URL. Заголовок, который вы добавили перед response.redirect, не будет добавлен к новому запросу.

Ограничена поддержка добавления новых заголовков во время Response.Redirect, ТОЛЬКО когда ваш сайт размещен в IIS (v7 или более).

Вы можете настроить пользовательские заголовки в разделе конфигурации system.webServer. Они будут добавлены, когда IIS перенаправит пользователя на какой-либо URL.

Не думаю, что мы можем поставить какое-либо динамическое значение (например, токен пользователя).

ПРИМЕЧАНИЕ : если вы переходите в другое приложение, принадлежащее той же организации (которая совместно использует инфраструктуру), вы можете сохранить этот токен носителя в кэше (где ключом будет GUID), а затем отправить GUID в виде строки запроса в другое приложение. Другое приложение может прочитать строку запроса и извлечь токен из кэша. Опять же, это подвергается высокоуровневому дизайну вашего проекта / продукта.

<system.webServer>
  <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="SAMEORIGIN" />
        <add name="X-XSS-Protection" value="1; mode=block" />
        <add name="X-Content-Type-Options" value="nosniff" />
        <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains" />
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
</system.webServer>
...