Сеанс установлен на asp. net MVC приложение теряется после перенаправления обратно из ADFS 3.0 - PullRequest
1 голос
/ 11 февраля 2020

У меня MVC приложение, которое интегрировано с ADFS.

Сводка

Я устанавливаю сеанс перед вызовом аутентификации ADFS. После возврата вызова ADFS сеанс был потерян, который я установил ранее.

Подробное описание

Шаг 1 Вызов URL-адреса приложения

https://hrcentral/mainmodule/expense/index

шаг 2 Вышеупомянутый вызов перенаправляет запрос к компоненту WIF, который является httphandler в моем приложении, следовательно, url: https://hrcentral/federationMetaData/wif.axd? ReturnUrl = https://hrcentral/mainmodule/expense/index

Web.config У меня есть настройка, как показано ниже для перенаправления

 <authentication mode="Forms">
      <forms loginUrl="~/FederationMetadata/WIF.axd" name="smartForms" />
    </authentication>

Шаг 3: установка сеанса внутри чтения httphandler WIF.axd, возвращающего URL из строки запроса

HttpContext.Current.Session["ReturnUrl"]="https://hrcentral/mainmodule/expense/index";

После настройки сеанса он будет перенаправлен в ADFS

Шаг 4 Аутентификация ADFS и запрос POST https://hrcentral/federationMetaData/wif.axd будут отправлены в тот же обработчик WIF. У нас есть условие для проверьте, является ли запрос POST или НЕТ. Поскольку этот запрос представляет собой POST, ранее сохраненный сеанс, который содержит ReturnUrl и пытается перенаправить назад и приземлиться в наше приложение.

Теперь проблема заключается в сеансе, который установлен на шаге 3 (HttpContext.Current.Session [" ReturnUrl "] = ReturnUrl) не доступен после перенаправления из ADFS в wif.axd. Вообще любой сеанс, любой сеанс, который установлен в нашем приложении, теряется после перенаправления из ADFS.

Аутентификация будет происходить после этого она будет перенаправлена ​​на https://hrcentral/mainmodule/expense/index

Настройка сеанса

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