Доступ к междоменным сайтам единого входа с помощью .NET
Допустим, у меня есть два веб-сайта, которые живут на разных доменах, и они были аутентифицированы с помощью единого входа. Я вхожу на первый сайт и аутентифицируюсь, а теперь решаю посетить второй сайт, используя ссылку, видимую на 1-м сайте. Эта ссылка перенаправляет на второй сайт, и никаких учетных данных не требуется. (Обратите внимание, что эти веб-сайты разработаны и размещены какой-то другой компанией, и у меня нет доступа к исходному коду. У меня есть один логин, и я ожидаю получить доступ к данным страницы второго веб-сайта)
Что я уже пробовал:
Я хочу получить доступ к веб-сайтам с помощью кода .net. Я проделал некоторую работу и дошел до доступа к ссылке первого веб-сайта, используя HTTP-запросы и файлы cookie, которые перенаправляют на второй веб-сайт. Но вскоре после того, как я нажал на ссылку, он открыл домен 2 на новой вкладке браузера и также генерирует новый идентификатор сеанса. Он не имеет никакой связи с первым файлом cookie веб-сайта. Но я могу получить доступ к данным веб-сайта 2, Когда я передаю URL-адрес и текущий идентификатор сеанса веб-сайта 2 вручную.
Существует ли какой-либо механизм безопасности за логином SSO, который можно взломать, чтобы получить доступ к общему идентификатору сеанса как для веб-сайта 1, так и для веб-сайта 2?Как я могу найти связь между двумя доменами, когда у них есть два идентификатора сеанса? Я не могу разместить коды здесь, так как они содержат некоторую личную информацию моего клиента.
Nathan Minier
Ооочень ... передайте идентификатор сеанса как часть ссылки.
В чем проблема?
Muthu Karunarathna
идентификатор сеанса меняется с 1-го домена на 2-й.и нет никакой связи между файлами cookie между двумя доменами. Если я начну первый запрос с 1-го домена, у меня должно быть правильное соединение между файлами cookie, чтобы идти дальше. Но в промежутке оно теряется. Это работает, если я передаю идентификатор сеанса вручную. Но это не то, чего я хочу.
Nathan Minier
Если вы заходите на эти сайты с .Сетевой код, вы создаете и отправляете HTTP-пакеты (предположительно с помощью System.Net.Http.HttpClient). Это означает, что вы можете создавать заголовки во время выполнения.
Это означает, что ваша система может присвоить ID сессии для второго сайта....во время выполнения.
Опять же, я не понимаю, в чем дело.
Muthu Karunarathna
Пожалуйста, обратитесь по этой ссылке. Я опубликовал его на форуме .net, и он, возможно, ясно объясняет проблему.
http://forums.asp.net/p/2104102/6082102.aspx?Re+Access+the+cross+domain+single+sign+on+websites+using+net