Проблема с работой SSO. Причем результаты экспериментов показывают какуюто лютую магию. Но по порядку. Сервер на Openfire, юзеров берет с AD. Все Win7, о которых пойдет речь в домене и пользователи соответственно тоже доменные. На моей машине с админской учеткой всё чудесно цепляется, разве что spark приходится запускать из под админа, чтобы он тикеты увидел. А дальше я просто перечислю имеющиеся факты.
1. По текущему доменному паролю входит без проблем с любой машины и с любым пользователем.
2. Если установить последний MIT Kerberos, то SSO работает, но только если отдельно жмакнуть в нем "get-tickets" и ввести пароль. При этом до получения новых, отображает полученные виндой вполне себе актуальные, билеты. Думал было в сторону того, что шифрование не то, выставил доменными политиками то, которое MIT получает. не помогло.
3. С моей машины на тестовом юзере и админе входит без проблем и с MIT Kerberos, и без оного. Причем из под админа в MIT билеты заново получать не требуется.
4. Все пользователи имеют перемещаемый профиль. Если отключить перемещаемость и больше ничего не трогать - SSO работает везде и у всех. Включаем - перестает работать. Разумеется при включении и выключении перемещаемости пользователь разлогинен. Машина одна и та же.
5. У 2-х из 5 пользователей SSO заработал на перемещаемом профиле сразу после настройки по инструкции.
6. Еще у одного заработал после переименования каталога для синхронизации на сервере. пользователи именованы по системе первая буква имени + фамилия, т.е. например vpupkin. Пробовали дописывать 1, 2 и 3, а также различные его комбинации - не помогло. Помогло только дописывание слова "test", т.е. каталог на сервере называется vpupkintest. Так заработало. У оставшихся двух юзеров такая схема не сработала.
7. Перед тем, как произвести действия из пункта 6, пробовал у вышеописанного юзера логиниться на другом компе, удалять профили, даже учетку пересоздавать - ничего не помогает.
Использую последние версии Spark и Openfire. Openfire установлен на FreeBSD. База в MySQL. У меня совершенно кончились варианты, как можно заставить SSO работать везде и куда еще можно копнуть. Настраиваю по инструкции
Код: Выделить всё
Configure Windows Spark clients for SSO + Kerberos.
1. Place a copy of the "krb5.ini" file we created on the Openfire server earlier in the Windows installation directory on your Spark client. Usually this is "C:\WINNT" or "C:\WINDOWS".
2. Add the following values to the Windows registry of all your Spark clients to allow Java to access the Windows Kerberos ticket cache:
On Windows 2000 SP4, Windows 2003 Server and later or Windows Vista:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters
Value Name: AllowTGTSessionKey
Value Type: REG_DWORD
Value: 1
On Windows XP SP2, SP3... :
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos
Value Name: AllowTGTSessionKey
Value Type: REG_DWORD
Value: 1
3. Restart your Windows client machines for these changes to take effect.
4. Once the XP machine is back up, log onto the machine using a domain user account.
5. Start the Spark client. If you get any login errors ignore them for now.
6. Configure your Spark client and enable the SSO Login option on the SSO tab. On the SSO tab, Spark should report what username it will attempt to use when logging into the Openfire server. If it reports something about "Unable to find principal" then you've done something wrong. Go back to the "Configure Windows Spark clients for SSO + Kerberos" section of this document.