|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Кто успешно реализовал авторизацию через AD в веб проекте на яве? прописал соединение к LDAP в server.xml томката, прописал группы в web.xml проекта. Проект запустился, но никакой авторизации почему-то не появилось. Дальше то как эту авторизацию вызывать и куда складывать полученные токены? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 11:45 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, - в web.xml security-constraint какие то прописали? Иначе, если используете Spring, то подключать Spring Security. JNDI в названии темы не при делах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 12:49 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, - в web.xml security-constraint какие то прописали? Иначе, если используете Spring, то подключать Spring Security. JNDI в названии темы не при делах. jndi - имел в виду, что для подключения в ldap используются настройки, прописанные на сервере в server.xml, а не строится дерево объектов прям в коде Спринг не использую в web.xml прописано Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
что с этими настройками, что без ничего нового не происходит. всё запускается. ошибок нет, но и запускает на любую страничку ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 13:52 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, выкинуть это: Код: xml 1. 2. 3.
вставить это: Код: xml 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 14:56 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Kachalov, пр ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 14:58 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, пригляделся, web.xml какой то левый - два раза </security-constraint> - так вообще запускаться не должно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 14:59 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Kachalov, копипаст. в проекте дубля нет. но всё равно домен отключили. до понедельника не проверю. спасибо за советы Код: xml 1. 2. 3.
уже под конец добавил, но логин конфиг не убирал. попробую ещё на днях ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2018, 16:16 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Kachalov, выкинул, вставил. не помогло ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 07:15 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
в примерах на оракле пишут про такую конструкцию Код: xml 1. 2. 3.
она расположена вне <security-constraint>, но когда выношу её за пределы <security-constraint> сразу же получаю ошибку "the markup in the document following the root element must be well-format" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 07:51 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
с велл формат проблема решена. не было тэга web-app. теперь он есть и проект вообще не запускается с ошибкой "Failed to retrieve JNDI naming context for container so no cleanup was performes for that container javax.naming.NamingException:No naming context bound to this class loader" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 09:00 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
тээкс, идём дальше. ошибка была из-за конструкции Код: xml 1.
оказывается слэш не нужен теперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 09:19 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
добавил Код: xml 1. 2. 3.
теперь окно для ввода логина/пароля запрашивает, но не пропускает. всё равно ошибка 403 закрыт доступ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 09:25 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcarтеперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён - и это правильное поведение, если при аутентификации в ОС пользователь не аутентифицирован в AD (и если Tomcat действительно соединился с AD и произвел проверку пользователя). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 09:52 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcarтеперь другая проблема. окно для ввода логина и пароля не появляется, сразу пишет ошибку 403 типа доступ запрещён - и это правильное поведение, если при аутентификации в ОС пользователь не аутентифицирован в AD (и если Tomcat действительно соединился с AD и произвел проверку пользователя). да. там не был указан тип авторизации. теперь указан, но не пропускает ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 11:17 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, Компьютер, свойства - поле Домен заполнено? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 11:47 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Petro123Korcar, Компьютер, свойства - поле Домен заполнено? ага) Отправляю логин пароль для авторизации через request.login(). Ошибок нет, получаю списки всех групп пользователя через request.getUserPrincipal(). Группы там те, что надо, но пытаюсь проверить вхождение пользователя в одну из этих групп request.idUserRole() - выдает false. фиг знает почему ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 12:22 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
может имя доменной группы надо указывать со слэшем в web.xml? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 06:23 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
слэши ожидаемо не помогли при авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 07:56 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, Пример хоть один в сети искал? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 08:34 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Petro123Korcar, Пример хоть один в сети искал? нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 08:52 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KorcarPetro123Korcar, Пример хоть один в сети искал? нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю)маловато, т.е. все нерабочие? Поэтому и спрашиваю) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 08:56 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
с шаблонами, разграничивающие доступ проблем нет (url-pattern). имя залогиненного пользователя тоже читается из риквеста. вопрос в том, почему проект не видит доменных групп? точнее он их видит и через Код: java 1.
выводит все группы, в которые залогиненный пользователь включен (выводит со всеми OU/CN/DC), но вот Код: java 1.
всегда выводит false ну и через шаблоны, прописанные в web.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
тоже роли не работают. фиг знает почему ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 08:59 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Petro123Korcarпропущено... нашел целую кучу, правда про доменную авторизацию маловато. поэтому и спрашиваю)маловато, т.е. все нерабочие? Поэтому и спрашиваю) примеров web.xml - кучу. примеров server.xml - только на сайте апача. вроде все сделано, как там и указано, и работает, но не совсем так как надо ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 09:31 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcarпри авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml? - конечно нет, это альтернативный Realm - UserDatabaseRealm или MemoryRealm. Эти роли в Вашем случае не должны использоваться. Может в этом и проблема - одновременно используется несколько разных Realm (в разных областях видимости Engine/Host/Context)? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 10:55 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcarпри авторизации через Active Directory обязательно роли прописывать в tomcat-users.xml? - конечно нет, это альтернативный Realm - UserDatabaseRealm или MemoryRealm. Эти роли в Вашем случае не должны использоваться. Может в этом и проблема - одновременно используется несколько разных Realm (в разных областях видимости Engine/Host/Context)? добавлял локальные роли только после невозможности достучаться до доменных групп. уже убрал. в server.xml только подключение к домену. подключение проходит успешно, судя по тому, что список всех групп пользователя можно просмотреть через request.getUserPrincipal() после его логона ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 11:33 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, покажите настройки Realm ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 12:08 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, покажите настройки Realm server.xml: Код: xml 1. 2. 3. 4. 5. 6.
как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 12:32 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, для AD советуют еще параметр roleBase: Настройка веб-контейнера Apache Tomcat вручную для применения LDAP ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 13:48 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, для AD советуют еще параметр roleBase: Настройка веб-контейнера Apache Tomcat вручную для применения LDAP значение RoleBase равно значению userBase? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:02 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcarзначение RoleBase равно значению userBase? - не обязательно, вот еще пример: Web Container Authentication via LDAP ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:07 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, еще обратите внимание на параметр roleName ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:09 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcarзначение RoleBase равно значению userBase? - не обязательно, вот еще пример: Web Container Authentication via LDAP в смысле, roleBase - описывает подкаталог userBase, где лежат роли? или roleBase - так же описывает корневой каталог для ролей? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:18 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, еще обратите внимание на параметр roleName регистр roleName важен? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:24 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, вторую ссылку посмотрите, там скриншот со структурой LDAP и описания параметров для Realm ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:25 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcarрегистр roleName важен? - не знаю, теоретически не важен, а практически ... надеюсь расскажите) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 14:29 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcarрегистр roleName важен? - не знаю, теоретически не важен, а практически ... надеюсь расскажите) регистр походу не важен. Проблема решилась довольно просто. Во всех примерах в в role-name пишут имя группы. В моём случае этого не достаточно. Если не прописать полный путь от корня AD (который описан в server.xml в атрибуте userBase), то авторизация не работает. То есть если группа в Active Directory лежит в каталог1/каталог2/каталог3/группа, то в role-name надо написать CN=группа,OU=каталог3,OU=каталог2,OU=каталог3,DC=корень_из_server.xml так то ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 06:39 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
Korcar, как то кривовато, теоретически roleBase="OU=каталог3,OU=каталог2,OU=каталог3,DC=корень" должно было помочь и roleSearch как в примере. Во всяком случае для LDAP. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:22 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, как то кривовато, теоретически roleBase="OU=каталог3,OU=каталог2,OU=каталог3,DC=корень" должно было помочь и roleSearch как в примере. Во всяком случае для LDAP. то есть в roleBase указать полную ветку до группы? а если группы в разных ветках? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:26 |
|
JNDI + Active Directory
|
|||
---|---|---|---|
#18+
KachalovKorcar, как то кривовато, теоретически roleBase="OU=каталог3,OU=каталог2,OU=каталог3,DC=корень" должно было помочь и roleSearch как в примере. Во всяком случае для LDAP. в общем ситуёвина такая: чтобы в web.xml прописывать только имя группы в server.xml должны быть прописаны параметры roleBase (полностью до группы, если параметр roleSubtree отсутствует или false), roleName (регистр не важен), roleSearch, roleSubtree (уже написал про него, так что по желанию) Если всех этих параметров в server.xml нет, то в web.xml прописывается полный путь до группы, а не только имя но server.xml - это поле деятельности админов, так что либо они меняют, либо подстраиваешься под имеющиеся настройки может кому-то эта инфа поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 13:43 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2121846]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 176ms |
0 / 0 |