|
|
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
Есть два сервера. На первом установлен 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. между этими сайтам авторизация отлично работает при переходе с домена на домен. На втором сервере iis 7.5 и размещен сайт с доменами www.domain.ru и domain.ru Соответственно те же настройки в конфиге. Проблема в том что если авторизоваться на сайте domain.ru, то на sub1.domain.ru и других доменах авторизационная кука не читается и сайт пишет что пользователь не авторизован. В чем может быть проблема? И как ее можно решить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 11:25 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
Я бы сделал человеческий SSO , тем более что у вас формы. И тогда ни проблемы кроссдоменной авторизации, ни проблемы доверительных отношений доменов, ни версия IIS, ни проблемы чтения кук и иже с ними не смогут повлиять на единый централизованный вход пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 11:50 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
И еще чем хорош SSO: тем, что нам не обязательно делать подсайты в sub доменах. Натравливаем SSO на любой сайт и всё у нас отлично работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 11:52 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
МСУ, спасибо за совет. Но на реализацию нужно время. А сейчас нужно поправить работающий проект. Проблема кстати сузиалась до следующей: После авторизации пишется авторизационная кука .ASPXAUTH c доменом .domain.ru Если она была создана на одном сервере, то для сайтов, работающих на этом сервере, она читается. А на другом сервере эту куку не видно. Ее нет в Request.Cookies. Хотя ff, например, показывает эту куку доступную для данного сайта. Как это может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 13:09 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
rudevelop...Как это может быть? На то они и кукисы, чтобы были не видны в другом домене. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 13:44 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
ShSerge, корневой домен то один domain.ru В обычном варианте кука с доменом .domain.ru читается как на domain.ru так и на sub1.domain.ru и тп А вот в моем случает кука есть, читатется на доменах sub1.domain.ru, sub2.domain.ru, sub3.domain.ru и по идее должна читаться на domain.ru, но нет же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 14:02 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
rudevelop, в последних версиях нета вроде как читал майкрософт чтото сделала в этом направлении поищите - точно помню читал что вроде как реализовали в 4й версии полноценную реализации ССО для асп.нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 14:44 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
1. Укажите domain без точки в самом начале 2. Forms Authentication Across Applications ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2012, 15:15 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
SanSYS, спасибо. С этой статьи начинал. Дальше уже пробовал различные варианты. Но сейчас не об этом. Итак для всех кому интересно - решение моей проблемы. Оказывается FormsAuthentication.Decrypt() возвращает null, если тикет был зашифрован на другом сервере. А тикет это и есть авторизационная кука. Лечится путем установления следующего патча на всех серверах http://support.microsoft.com/kb/2656351 Нашел в одном из блогов. Ссылка на первоисточник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 10:12 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
rudevelop, хм.. а попробуй, интересу ради, machineKey " decryptionKey - Задает ключ для шифрования и расшифровки данных или процесс, в ходе которого создается ключ. Этот атрибут используется для шифрования и расшифровки при проверке подлинности форм, а также для шифрования состояния отображения и расшифровки состояния отображения, если оно зашифровано." на сколько понимаю - как раз его можно определить одинаковым значением в ваших приложениях (ну конечно же и остальные параметры) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 11:28 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
SanSYS, естественно, machine key у меня в конфигах были одинаковые. Проблема была в том, что одинаковые machine key на разных серверах не могли прочитать то, что и было зашифровано с помощью этих самых ключей. Шифруется на одном сервере, и не читается на другом. Оказалось это баг в framework 4, который лечится с помощью патча. Сейчас у меня все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 11:37 |
|
||
|
Проблема кроссдоменной авторизации
|
|||
|---|---|---|---|
|
#18+
rudevelop, точно, как-то проглядел в первом сообщении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2012, 11:58 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=128&tid=1359528]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 415ms |

| 0 / 0 |
