Fórumok

Проблемы с авторизацией через LDAP

Fedor Ignatiev, módosítva 10 év-val korábban

Проблемы с авторизацией через LDAP

New Member Bejegyzések: 6 Csatlakozás dátuma: 2013.10.25. Legújabb bejegyzések
День добрый! Прошу помощи знатоков, с Liferay работаю совсем не долго и до конца не понимаю еще всех тонкостей настройки. Проблема заключается в следующем: Есть Active Directory, сервер Windows 2012 на который установлен Liferay 6.2 в комплекте с Tomcat. Пользователи импортируются через LDAP успешно, но вот если попытаться зайти - выдает ошибку:

Ваш запрос завершился с ошибкой.
Аутентификация не пройдена. Пожалуйста, попробуйте снова.


Сперва в логи писалась ошибка про неверный тип шифрования паролей. т.к. я перешел с версии 6.1 (на которой тоже была эта ошибка), я почитал мануал и сделал следующее:
Создал файл С:\\_liferay\liferay-portal-6.2-ce-ga2\tomcat-7.0.42\webapps\ROOT\WEB-INF\classes\portal-ext.properties

Следующего содержания:
 1#ldap.auth.password.encryption.algorithm=BCRYPT
 2#ldap.auth.password.encryption.algorithm=MD2
 3#ldap.auth.password.encryption.algorithm=MD5
 4#ldap.auth.password.encryption.algorithm=SHA
 5#ldap.auth.password.encryption.algorithm=SHA-256
 6#ldap.auth.password.encryption.algorithm=SHA-384
 7#ldap.auth.password.encryption.algorithm=SSHA
 8#ldap.auth.password.encryption.algorithm=UFC-CRYPT
 9ldap.auth.password.encryption.algorithm=



После этих действий ошибка В ЛОГАХ исчезла, но и проблема не решилась.

Я заметил интересную вещь - пароли импортированных пользователей в версии 6.1 в зашифрованном виде выглядели так:
1xVUFoT3HTF2fO1hjIY46yICsDkI=


А пароли пользователей созданных в версии 6.2 выглядят так:
1AAAAoAAB9ADb9CdCtNVU8OwDRmoROUtg62QvCS0syoByevOR



Я удалил всех пользователей, и по новой импортировал, теперь все пользователи имеют пароли в зашифрованном виде как:
1AAAAoAAB9ADb9CdCtNVU8OwDRmoROUtg62QvCS0syoByevOR


Но зайти все-равно не получается и в логи не пишутся ошибки, связанные с ошибкой авторизации.

Может я не там смотрю? Заранее спасибо!

P.S. Прошу удалить предыдущие дубляжи темы
thumbnail
Alexey Melnikov, módosítva 10 év-val korábban

RE: Проблемы с авторизацией через LDAP

Regular Member Bejegyzések: 108 Csatlakozás dátuma: 2012.03.27. Legújabb bejegyzések
Добрый день.

В AD пароль хранится в поле unicodePwd, так что поменяйте на это значение (хотя смысла большого нету если используется только импорт пользователей, без экспорта).
Работа с sAMAccountName и unicodePwd подразумевает работу через протокол ldaps (это опять же в случае экспорта пользователей). В случае ldaps нужно также ssl сертификат AD установить в trusted store java.

Про пароли в базе - AD вроде бы не дает пароль в открытом виде, следовательно Liferay не может ничего туда поставить (в вашем случае, он еще ничего и прочитать из того поля не мог). В итоге прописывается пароль по умолчанию - скорей всего 'test'.
Разница в длине паролей - поменяли длину хеша видать, вот и все.

Если включена обязательная авторизация через AD (чекбокс 'требуется'), то введенный логин и пароль отправляются в AD для проверки по правилу которое указал пользователь (в этом случае может не работать фильтр поиска пользователя из-за неправильных значений). После нахождения пользователя идет попытка его аутентификации - тут не скажу как она осуществляется и влияет ли неправильное название поля с паролем на это. Экспериментируйте на здоровье дальше ))
Fedor Ignatiev, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

New Member Bejegyzések: 6 Csatlakozás dátuma: 2013.10.25. Legújabb bejegyzések
Спасибо за советы!

Удалось решить проблему с авторизацией методом проб и ошибок.

В итоге для меня оказался рабочим следующий набор опций в portal-ext.properties

#Порт для работы сервера по-умолчанию
web.server.http.port=80

#Локаль по-умолчанию
locales=ru_RU

#Ошибка доступа к портлетам
layout.show.portlet.access.denied=true

#ldap.auth.password.encryption.algorithm=BCRYPT
#ldap.auth.password.encryption.algorithm=MD2
ldap.auth.password.encryption.algorithm=[b]MD5[/b]
#ldap.auth.password.encryption.algorithm=NONE
#ldap.auth.password.encryption.algorithm=SHA
#ldap.auth.password.encryption.algorithm=SHA-256
#ldap.auth.password.encryption.algorithm=SHA-384
#ldap.auth.password.encryption.algorithm=SSHA
#ldap.auth.password.encryption.algorithm=UFC-CRYPT

auth.pipeline.enable.liferay.check=false

ldap.import.user.password.enabled=true

#
# Set this to true to store the user's password in the session.
#
session.store.password=false


з.ы. мне тему не удалить из-за того, что я сперва png картинки прикреплял - у меня не видно кнопок для управления темой. баг, баг )))
thumbnail
Alexey Melnikov, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

Regular Member Bejegyzések: 108 Csatlakozás dátuma: 2012.03.27. Legújabb bejegyzések
Неужели только MD5 шифрование поменяли и все заработало?

ldap.auth.password.encryption.algorithm=MD5
Fedor Ignatiev, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

New Member Bejegyzések: 6 Csatlakozás dátuma: 2013.10.25. Legújabb bejegyzések
Я так понял, что роль сыграла эта:
ldap.auth.password.encryption.algorithm=MD5
и эта опция:
ldap.import.user.password.enabled=true

auth.pipeline.enable.liferay.check=false и session.store.password=false - не уверен что особо нужны.

Инфу брал тут:
https://www.liferay.com/web/jonas.yuan/blog/-/blogs/6583930
http://www.liferaysavvy.com/2013/10/liferay-ldap-integration_8.html

Теперь нужно решить следующие проблемы:
- Выставить язык новых импортированных пользователей - Русский, а не Английский, как сейчас
- Выставить часовой пояс по умолчанию в +4
- Убрать префексы у пользователей i.ivanov.2, i.ivanov.3, которые появились из-за МНОГОкратного удаления и импорта пользователей.
thumbnail
Alexey Melnikov, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

Regular Member Bejegyzések: 108 Csatlakozás dátuma: 2012.03.27. Legújabb bejegyzések
Fedor Ignatiev:

Теперь нужно решить следующие проблемы:
- Выставить язык новых импортированных пользователей - Русский, а не Английский, как сейчас
- Выставить часовой пояс по умолчанию в +4
- Убрать префексы у пользователей i.ivanov.2, i.ivanov.3, которые появились из-за МНОГОкратного удаления и импорта пользователей.

1 и 2 - не помню точно, то ли берется из настроек портала/сайта в который они импортируются, то ли из default user, который в базе виден.
3 - это из-за кэшей, после нескольких импортов закэшировались занятые логины. Помогает либо очистка кэша через панель управления, либо перезагрузка, во время которой все также чистится.
Fedor Ignatiev, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

New Member Bejegyzések: 6 Csatlakozás dátuma: 2013.10.25. Legújabb bejegyzések
Alexey Melnikov:
Fedor Ignatiev:

Теперь нужно решить следующие проблемы:
- Выставить язык новых импортированных пользователей - Русский, а не Английский, как сейчас
- Выставить часовой пояс по умолчанию в +4
- Убрать префексы у пользователей i.ivanov.2, i.ivanov.3, которые появились из-за МНОГОкратного удаления и импорта пользователей.

1 и 2 - не помню точно, то ли берется из настроек портала/сайта в который они импортируются, то ли из default user, который в базе виден.
3 - это из-за кэшей, после нескольких импортов закэшировались занятые логины. Помогает либо очистка кэша через панель управления, либо перезагрузка, во время которой все также чистится.


Вроде всё перепробовал, но пользователи из LDAP импортируются с дефолтным английским языком, а не русским.

У администратора и дефолтного пользователя (его я почему-то вижу только в базе mysql, на сайте не видно) выставлен русский по умолчанию

Нашел похожую проблему: https://issues.liferay.com/browse/LPS-10402
Но не могу найти собственно класс для правки: "com.liferay.portal.security.ldap.BaseLDAPToPortalConverter"
thumbnail
Alexey Melnikov, módosítva 9 év-val korábban

RE: Проблемы с авторизацией через LDAP

Regular Member Bejegyzések: 108 Csatlakozás dátuma: 2012.03.27. Legújabb bejegyzések
Fedor Ignatiev:

Нашел похожую проблему: https://issues.liferay.com/browse/LPS-10402
Но не могу найти собственно класс для правки: "com.liferay.portal.security.ldap.BaseLDAPToPortalConverter"

Его переименовали кажется в DefaultLDAPToPortalConverter. Смотрите лучше сразу все содержимое пакета в portal-impl.
thumbnail
Alexey Melnikov, módosítva 10 év-val korábban

RE: Проблемы с авторизацией через LDAP

Regular Member Bejegyzések: 108 Csatlakozás dátuma: 2012.03.27. Legújabb bejegyzések
PS: модеров в русской ветке нету, так что самостоятельно удаляйте тему ;)