powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема кроссдоменной авторизации
13 сообщений из 13, страница 1 из 1
Проблема кроссдоменной авторизации
    #37819204
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два сервера. На первом установлен iis 7.0 и заведены несколько разных сайтов sub1.domain.ru, sub2.domain.ru, sub2.domain.ru

на сайтах настроена кроссдоменная авторизация:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
.....
<authentication mode="Forms">
      <forms cookieless="UseCookies" defaultUrl="/" loginUrl="/" protection="All" domain=".domain.ru" enableCrossAppRedirects="true" timeout="30000" />
</authentication>
<membership defaultProvider="MyProvider" hashAlgorithmType="SHA1">
       <providers>
           <add name="MyProvider" type="System.Web.Security.SqlMembershipProvider"
           minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="6"
           connectionStringName="connectionStringName"
           applicationName="applicationName" enablePasswordRetrieval="false" 
           enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" />
        </providers>
</membership>
 <machineKey validationKey="validationKey" decryptionKey="decryptionKey" validation="SHA1" decryption="AES" />
....



между этими сайтам авторизация отлично работает при переходе с домена на домен.

На втором сервере iis 7.5 и размещен сайт с доменами www.domain.ru и domain.ru Соответственно те же настройки в конфиге.

Проблема в том что если авторизоваться на сайте domain.ru, то на sub1.domain.ru и других доменах авторизационная кука не читается и сайт пишет что пользователь не авторизован.

В чем может быть проблема? И как ее можно решить?
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819269
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал человеческий SSO , тем более что у вас формы. И тогда ни проблемы кроссдоменной авторизации, ни проблемы доверительных отношений доменов, ни версия IIS, ни проблемы чтения кук и иже с ними не смогут повлиять на единый централизованный вход пользователя.
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819273
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще чем хорош SSO: тем, что нам не обязательно делать подсайты в sub доменах. Натравливаем SSO на любой сайт и всё у нас отлично работает.
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819466
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ, спасибо за совет. Но на реализацию нужно время. А сейчас нужно поправить работающий проект.

Проблема кстати сузиалась до следующей:

После авторизации пишется авторизационная кука .ASPXAUTH c доменом .domain.ru

Если она была создана на одном сервере, то для сайтов, работающих на этом сервере, она читается. А на другом сервере эту куку не видно. Ее нет в Request.Cookies. Хотя ff, например, показывает эту куку доступную для данного сайта.

Как это может быть?
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819559
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop...Как это может быть?
На то они и кукисы, чтобы были не видны в другом домене.
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819593
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge,

корневой домен то один domain.ru

В обычном варианте кука с доменом .domain.ru читается как на domain.ru так и на sub1.domain.ru и тп

А вот в моем случает кука есть, читатется на доменах sub1.domain.ru, sub2.domain.ru, sub3.domain.ru и по идее должна читаться на domain.ru, но нет же.
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819698
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

в последних версиях нета вроде как читал майкрософт чтото сделала в этом направлении
поищите - точно помню читал что вроде как реализовали в 4й версии полноценную реализации ССО для асп.нет
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37819777
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Укажите domain без точки в самом начале
2. Forms Authentication Across Applications
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37820956
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SanSYS, спасибо. С этой статьи начинал. Дальше уже пробовал различные варианты.

Но сейчас не об этом. Итак для всех кому интересно - решение моей проблемы.

Оказывается FormsAuthentication.Decrypt() возвращает null, если тикет был зашифрован на другом сервере. А тикет это и есть авторизационная кука. Лечится путем установления следующего патча на всех серверах http://support.microsoft.com/kb/2656351

Нашел в одном из блогов. Ссылка на первоисточник
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37821132
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

хм.. а попробуй, интересу ради, machineKey

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

на сколько понимаю - как раз его можно определить одинаковым значением в ваших приложениях (ну конечно же и остальные параметры)
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37821148
rudevelop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SanSYS, естественно, machine key у меня в конфигах были одинаковые. Проблема была в том, что одинаковые machine key на разных серверах не могли прочитать то, что и было зашифровано с помощью этих самых ключей. Шифруется на одном сервере, и не читается на другом. Оказалось это баг в framework 4, который лечится с помощью патча.

Сейчас у меня все работает.
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37821178
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rudevelop,

точно, как-то проглядел в первом сообщении
...
Рейтинг: 0 / 0
Проблема кроссдоменной авторизации
    #37821289
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, может кому пригодиться:
YouTube Video
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема кроссдоменной авторизации
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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